Django Rest Framework "TypeError: 'type' object is not iterable"错误

22

我不知道要修改哪个配置。

我的git仓库URL是:https://github.com/Nomadcoders-Study/Nomadgram

Internal Server Error: /images/all/
Traceback (most recent call last):
  File "/usr/local/var/pyenv/versions/3.6.1/envs/nomadgram/lib/python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
  File "/usr/local/var/pyenv/versions/3.6.1/envs/nomadgram/lib/python3.6/site-packages/django/core/handlers/base.py", line 187, in _get_response
response = self.process_exception_by_middleware(e, request)
  File "/usr/local/var/pyenv/versions/3.6.1/envs/nomadgram/lib/python3.6/site-packages/django/core/handlers/base.py", line 185, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/local/var/pyenv/versions/3.6.1/envs/nomadgram/lib/python3.6/site-packages/django/views/decorators/csrf.py", line 58, in wrapped_view
return view_func(*args, **kwargs)
  File "/usr/local/var/pyenv/versions/3.6.1/envs/nomadgram/lib/python3.6/site-packages/django/views/generic/base.py", line 68, in view
return self.dispatch(request, *args, **kwargs)
  File "/usr/local/var/pyenv/versions/3.6.1/envs/nomadgram/lib/python3.6/site-packages/rest_framework/views.py", line 478, in dispatch
request = self.initialize_request(request, *args, **kwargs)
  File "/usr/local/var/pyenv/versions/3.6.1/envs/nomadgram/lib/python3.6/site-packages/rest_framework/views.py", line 380, in initialize_request
authenticators=self.get_authenticators(),
  File "/usr/local/var/pyenv/versions/3.6.1/envs/nomadgram/lib/python3.6/site-packages/rest_framework/views.py", line 274, in get_authenticators
  return [auth() for auth in self.authentication_classes]
TypeError: 'type' object is not iterable

2
你可能需要将这个变量初始化为一个元组而不是一个字符串。 - ikkuh
哦...!!!! 非常感谢你!! 多亏了你,我能够很好地解决这个问题。 - Nouveau
1个回答

75

settings.py 文件中,在 '...JSONWebTokenAuthentication' 行末添加逗号,如下所示:

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework.permissions.IsAuthenticated',
    ),
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
    ),
}

注意:没有逗号这不是一个元组


3
100个赞,因为说了这句话:“注意:没有逗号就不是元组”。 - Mohd Farid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接