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

来源:

五百元人民币

2017-02-15

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

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

0
3
bobby
回复
qq_李芯宇_0
这个我后面会讲到的
2017-05-27
共3条回复

Python3.6+django+xadmin,打造在线教育平台

【毕设】Python 2.7到3.6 完美适配,Django升级2.0

3677 学习 · 4038 问题

查看课程