2016-04-10 21 views
1

Bir FormView olan görünümleri işlerken sorun yaşıyorum. s3direct eklentisini kullanmaya çalışıyorum.Django FormView: ViewDoesNotExist at/s3direct/

Hata, '<app.views.MyView object at 0x7f7dd9222250>' is not a callable or a dot-notation path'un belirtir.

görüşlerim

class MyView(FormView): 
    template_name = 'form.html' 
    form_class = S3DirectUploadForm 

Forms.py

class S3DirectUploadForm(forms.Form): 
    images = forms.URLField(widget=S3DirectWidget(
     dest='destination_key_from_settings', 
     html=(
      '<div class="s3direct" data-policy-url="{policy_url}">' 
      ' <a class="file-link" target="_blank" href="{file_url}">{file_name}</a>' 
      ' <a class="file-remove" href="#remove">Remove</a>' 
      ' <input class="file-url" type="hidden" value="{file_url}" id="{element_id}" name="{name}" />' 
      ' <input class="file-dest" type="hidden" value="{dest}">' 
      ' <input class="file-input" type="file" />' 
      ' <div class="progress progress-striped active">' 
      ' <div class="bar"></div>' 
      ' </div>' 
      '</div>' 
     ))) 

urls.py

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^s3direct/', views.MyView()), 

] 

dosya traceback

Internal Server Error: /s3direct/ 
Traceback (most recent call last): 
    File "/home/amogh/cartoon_mango/env/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 134, in get_response 
    resolver_match = resolver.resolve(request.path_info) 
    File "/home/amogh/cartoon_mango/env/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 376, in resolve 
    sub_match = pattern.resolve(new_path) 
    File "/home/amogh/cartoon_mango/env/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 248, in resolve 
    return ResolverMatch(self.callback, args, kwargs, self.name) 
    File "/home/amogh/cartoon_mango/env/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 255, in callback 
    self._callback = get_callable(self._callback_str) 
    File "/home/amogh/cartoon_mango/env/local/lib/python2.7/site-packages/django/utils/lru_cache.py", line 100, in wrapper 
    result = user_function(*args, **kwds) 
    File "/home/amogh/cartoon_mango/env/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 102, in get_callable 
    "'%s' is not a callable or a dot-notation path" % lookup_view 
ViewDoesNotExist: '<app.views.MyView object at 0x7f479a5502d0>' is not a callable or a dot-notation path 
[10/Apr/2016 16:14:14] "GET /s3direct/ HTTP/1.1" 500 81123dragondisk (1.0.5-0) 

Herhangi bir yardım çok takdir edilmektedir.

cevap

1

URL'lerde sınıf tabanlı görünümler kullanılırken .as_view() yöntemini çağırmalısınız.

bu değiştir: Bununla

url(r'^s3direct/', views.MyView()), 

:? Ben şablonda görüntülemek için formu nasıl kullanmalıyım yardım

url(r'^s3direct/', views.MyView.as_view()), 
+0

Teşekkür ......... ... ne zaman use {{form}} Ters dize eşleşmesi hatası aldım – Coeus

+0

'{{form}}' tek başına Ters Eşleşme hatası vermez, kodunuzu yanlış bir şekilde tersine çevirmeye çalıştığınız başka bir bölümdür (yanlış isim/parametre değerleri vb.) – v1k45