2014-01-13 8 views
5

Ich erhalte einen Fehler, wenn ich versuche, dem Schnellstart-Beispiel des Django Rest Framework zu folgen. Soweit ich ich alles eingerichtet haben sagen können, je nach Bedarf, ich über sie ein paar Mal gegangen sind, kann aber nicht den Fehler Der Fehler zu finden scheinen wieTyp Fehler mit Django Framework Quickstart

Environment: 


    Request Method: GET 
    Request URL: http://webdev.lab.unlab.ca/ 

    Django Version: 1.6 
    Python Version: 2.7.3 
    Installed Applications: 
    ('django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'rest_framework') 
    Installed Middleware: 
    ('django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.common.CommonMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    'django.middleware.clickjacking.XFrameOptionsMiddleware') 


    Traceback: 
    File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response 
     114.      response = wrapped_callback(request, *callback_args, **callback_kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/django/views/generic/base.py" in view 
     69.    return self.dispatch(request, *args, **kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/django/views/decorators/csrf.py" in wrapped_view 
     57.   return view_func(*args, **kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/rest_framework/views.py" in dispatch 
     399.    response = self.handle_exception(exc) 
    File "/usr/local/lib/python2.7/dist-packages/rest_framework/views.py" in dispatch 
     387.    self.initial(request, *args, **kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/rest_framework/views.py" in initial 
     317.   self.check_permissions(request) 
    File "/usr/local/lib/python2.7/dist-packages/rest_framework/views.py" in check_permissions 
     273.   for permission in self.get_permissions(): 
    File "/usr/local/lib/python2.7/dist-packages/rest_framework/views.py" in get_permissions 
     226.   return [permission() for permission in self.permission_classes] 

    Exception Type: TypeError at/
    Exception Value: 'type' object is not iterable 

jemand folgt sehen Was ist los?

+0

Sie haben mehr von Ihrem eigentlichen Code schreiben für jedermann Sie – Anentropic

Antwort

2

Die Variable

self.permission_classes 

in der Zeile:

return [permission() for permission in self.permission_classes] 

Rückkehr keine Liste. Daher kann Ihr Server keine Schleife darüber führen, d. H. "Nicht iterierbar".

17

Die permission_classes in Ihrem View/ViewSet muss ein Tupel

Sie schrieb so etwas wie dieses:

permission_classes = (permissions.IsAuthenticated) 

ein Komma vergessen.

versuchen mit:

permission_classes = (permissions.IsAuthenticated,) 
+0

Es gibt eine andere Stackoverflow Post mit ähnlichen Fehler zu helfen. [Ein weiterer Kommafehler in settings.py] (https://stackoverflow.com/questions/20519116/typeerror-while-using-django-rest-framework-tutorial) –