请稍等 ...
×

采纳答案成功!

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

用户登录模块authenticate()返回的是None如何解决了

def user_login(request):
    if request.method == 'POST':
        user_name = request.POST.get('username','')
        pass_word = request.POST.get('password','')
        user = authenticate(user_name=user_name, pass_word=pass_word)
        if user is not None:
            login(request,user)
            return render(request, 'index.html')
        else:
            return render(request, 'login.html')
    elif request.method == 'GET':
        return render(request, 'login.html')


正在回答

1回答

bobby 2017-02-16 09:26:09

这个返回none是因为用户名和密码没有匹配对, 要记住很重要的一点是django的密码是密文保存 无法反解。 所以录入用户的时候只能通过代码或者createsuperuser命令创建, 因为这两个方法会对密码进行加密后保存, auth这个函数在查找用户的时候也是会对密码进行加密后再去数据库中匹配的

0 回复 有任何疑惑可以回复我~
  • 提问者 五百元人民币 #1
    非常感谢!谢谢老师 我傻逼了代码错
    回复 有任何疑惑可以回复我~ 2017-02-16 10:09:21
  • 老师那么如何为用户密码加密呢?您后面的课程有说?
    回复 有任何疑惑可以回复我~ 2017-05-27 02:34:15
  • bobby 回复 qq_李芯宇_0 #3
    这个我后面会讲到的
    回复 有任何疑惑可以回复我~ 2017-05-27 14:45:50
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

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

帮助反馈 APP下载

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

公众号

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