DRF视图使用@permission_classes返回无效的用户名/密码((AllowAny,))

时间:2017-10-07 17:48:46

标签: django django-rest-framework django-views

所以我有这个类似于api的方法,其中AllowAny是permisson类装饰器:

@api_view(['POST'])
@permission_classes((AllowAny, ))

但是当我使用浏览器访问网址时,它会使用403

呈现DRF api模板
HTTP 403 Forbidden
Allow: POST, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "detail": "Invalid username/password."
}

我缺少什么?如果我强行通过装饰者,我不需要指定设置DEFAULT_PERMISSION_CLASSES吗?

1 个答案:

答案 0 :(得分:0)

最有可能的是您已配置会话身份验证但身份验证失败。有一点需要知道会话身份验证将导致403而不是401,因为会话身份验证与401不兼容:它无法处理WWW-Authenticate头。