【问题标题】:Type error with django framework quickstartdjango 框架快速入门的类型错误
【发布时间】:2014-02-01 09:30:21
【问题描述】:

我在尝试遵循 Django Rest 框架的快速入门示例时遇到错误。据我所知,我已经根据需要设置了所有内容,我已经检查了几次,但似乎找不到错误 错误如下

    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

有人知道发生了什么吗?

【问题讨论】:

  • 您必须发布更多实际代码以供任何人帮助您

标签: django django-rest-framework


【解决方案1】:

View/ViewSet 中的 permission_classes 必须是一个元组

你写了这样的东西:

permission_classes = (permissions.IsAuthenticated)

忘记逗号。

尝试:

 permission_classes = (permissions.IsAuthenticated,)

【讨论】:

【解决方案2】:

变量

self.permission_classes

在行中:

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

不返回列表。因此您的服务器无法循环它,即“不可迭代”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-30
    • 2023-03-15
    相关资源
    最近更新 更多