【问题标题】:django rest framework " TypeError: 'type' object is not iterable " errordjango rest 框架“TypeError: 'type' object is not iterable”错误
【发布时间】:2019-04-28 22:44:48
【问题描述】:

我不知道要修改什么配置。

我的 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

【问题讨论】:

  • 您可能需要将this variable 初始化为tuple 而不是字符串。
  • 哦……!!!非常感谢!!多亏了这一点,我才能很好地解决问题。

标签: python django django-rest-framework


【解决方案1】:

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

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

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

【讨论】:

  • 非常感谢@M.javid。我在这个问题上浪费了很多时间。完美的答案。谢谢。
  • 非常感谢!
  • 哇,太棒了——这正是我遇到的问题。
  • 谢谢你,很高兴它对你有用
猜你喜欢
  • 2022-08-18
  • 2022-12-15
  • 2020-06-20
  • 2022-08-04
  • 2020-02-03
  • 2021-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多