V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
shiziwen
V2EX  ›  问与答

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

  •  1
     
  •   shiziwen · 2015-07-12 14:19:31 +08:00 · 1938 次点击
    这是一个创建于 3413 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在遇到了一个问题,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权限的用户访问)
    然后登录admin的账号,client.force_authenticate(user=user)
    可以访问相应的API。
    如果使用非admin账户进行测试的时候,会报认证错误的提示:

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

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

    4 条回复    2015-07-13 14:09:36 +08:00
    virusdefender
        1
    virusdefender  
       2015-07-12 14:20:53 +08:00
    我之前这么干过没问题啊 你在settings里面设置AUTH_USER_MODEL了么
    shiziwen
        2
    shiziwen  
    OP
       2015-07-12 14:59:03 +08:00
    @virusdefender
    AUTH_USER_MODEL = 'myuser.MyUser'

    这个已经设置过了。
    pixstone
        3
    pixstone  
       2015-07-12 21:18:16 +08:00 via iPhone
    你已经设定成。isAdminUser了 不是admin访问API自然报错
    shiziwen
        4
    shiziwen  
    OP
       2015-07-13 14:09:36 +08:00
    @pixstone
    APIClient不是admin的时候,访问会报错,这是正常的。
    我的问题是,rest提供的页面无法登录。
    多谢。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1864 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:39 · PVG 00:39 · LAX 08:39 · JFK 11:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.