请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

在做drf token的时候报错

在按照老师的步骤配置token之后,运行的时候报错:

        

NotImplementedError at /

.authenticate() must be overridden.

Request Method:

GET    

Request URL:

http://127.0.0.1:8000/    

Django Version:

1.11.7    

Exception Type:

NotImplementedError    

Exception Value:

.authenticate() must be overridden.
   

Exception Location:

C:\Users\Administrator.QIKUQIK-HR2M400\Envs\shop\lib\site-packages\rest_framework\authentication.py in authenticate, line 46    

Python Executable:

C:\Users\Administrator.QIKUQIK-HR2M400\Envs\shop\Scripts\python.exe    


正在回答 回答被采纳积分+3

插入代码

2回答

提问者 qq_肖生以默丶_0 2017-11-20 13:39:42

老师非常耐心,问题已经完美解决。

0 回复 有任何疑惑可以回复我~
bobby 2017-11-16 15:16:25
1
2
3
4
5
6
7
8
9
10
11
class CustomBackend(ModelBackend):
    """
    自定义用户验证
    """
    def authenticate(self, username=None, password=None**kwargs):
        try:
            user = User.objects.get(Q(username=username)|Q(mobile=username))
            if user.check_password(password):
                return user
        except Exception as e:
            return None

是不是这个代码你的函数名写错了?

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_肖生以默丶_0 #1
    我是按照视频上的步骤写的,当时您还没有重写这个函数,配置完之后直接用插件发送post请求的,这个函数必须重写吗?
    回复 有任何疑惑可以回复我~ 2017-11-16 16:40:24
  • bobby 回复 提问者 qq_肖生以默丶_0 #2
    如果你需要通过手机号码判断登录的话 就需要重写 如果你只需要通过username来判断登录就可以不用重写了
    回复 有任何疑惑可以回复我~ 2017-11-17 17:44:58
  • 提问者 qq_肖生以默丶_0 回复 bobby #3
    我重写完之后,还是会报这个错。我是按照视频上一步步来的。。。
    回复 有任何疑惑可以回复我~ 2017-11-17 23:37:05
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号