django自定义User之后,rest framework网页调试页面无法登陆

发布于 2022-09-01 13:14:07 字数 852 浏览 21 评论 0

现在遇到了一个问题,django自定义User之后,rest framework网页调试页面无法登陆。

django rest framework默认会提供一个web调试页面,
如下图所示:
django rest framework web调试页面

之后,我定义了自己的User Model。
然后再登录rest framework提供的页面时,没有报错,但也没有登录成功。
如下图所示(右上角一直是“Log in”):
rest framework登录不成功

但是,使用APIClient进行认证测试的时候,结果是正常的。
例如,permission_classes = (permissions.IsAdminUser,)
然后登录admin的账号,client.force_authenticate(user=user)
可以访问相应的API。
如果使用非admin账户进行测试的时候,会报认证错误的提示:

{u'detail': u'You do not have permission to perform this action.'}

是不是自定义了User Model之后,rest的相关配置也需要修改,才能在其提供的web页面正常登录?
多谢。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

战皆罪 2022-09-08 13:14:07
permission_classes = (permissions.IsAdminUser,)

这个限定了只有admin才有权限

雄赳赳气昂昂 2022-09-08 13:14:07

settings.py中设置:
REST_FRAMEWORK = {

'DEFAULT_AUTHENTICATION_CLASSES': [
    'rest_framework.authentication.BasicAuthentication',
    'rest_framework.authentication.SessionAuthentication',
],

}

老子叫无熙 2022-09-08 13:14:07

你好!你这个问题怎样解决的?还记得吗?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文