【问题标题】:django-rest-framework-jwt: "__init__() got an unexpected keyword argument 'write_only'"django-rest-framework-jwt:“__init__() 有一个意外的关键字参数‘write_only’”
【发布时间】:2014-07-04 09:34:31
【问题描述】:

我正在尝试创建一个RESTful API 以使用Django REST framework 登录到我的Django 站点。正如推荐的here 我正在尝试使用django-rest-framework-jwt

在我的settings.py 中,我将'rest_framework' 添加到INSTALLED_APPS

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

我加了

url(r'^api-token-auth/', 'rest_framework_jwt.views.obtain_jwt_token'),

到我的 url 模式,在 django-rest-framework-jwt 文档中指定。

现在,当我尝试连接到我的网站时,出现以下错误:

File "/xxx/local/lib/python2.7/site-packages/rest_framework_jwt/views.py" in <module>
  7. from .serializers import JSONWebTokenSerializer
File "/xxx/local/lib/python2.7/site-packages/rest_framework_jwt/serializers.py" in <module>
  11. class JSONWebTokenSerializer(serializers.Serializer):
File "/xxx/local/lib/python2.7/site-packages/rest_framework_jwt/serializers.py" in JSONWebTokenSerializer
  18.     password = serializers.CharField(write_only=True)
File "/xxx/local/lib/python2.7/site-packages/rest_framework/fields.py" in __init__
  453.         super(CharField, self).__init__(*args, **kwargs)
Exception Type: TypeError at /
Exception Value: __init__() got an unexpected keyword argument 'write_only'

有什么建议吗?

【问题讨论】:

    标签: django django-rest-framework


    【解决方案1】:

    检查您的 DRF 版本。在 2.3.11 版本中添加了“write_only”字段参数。见http://www.django-rest-framework.org/topics/release-notes

    【讨论】:

      猜你喜欢
      • 2014-10-24
      • 2021-10-29
      • 2015-01-27
      • 1970-01-01
      • 1970-01-01
      • 2018-04-26
      • 1970-01-01
      • 1970-01-01
      • 2018-05-04
      相关资源
      最近更新 更多