authenticate()始终返回None

时间:2013-03-21 20:16:29

标签: python django authentication

  • Python 3
  • Django 1.5

我已成功创建了create_user()的用户,用户可以登录管理部分。但是,在我的views.py中创建代码以便用户可以在其他任何地方登录,这是行不通的。这是我正在使用的代码,即使用户名和&密码绝对正确,authenticate()仍会返回None

def dologin(request):
    usrnym = request.POST['usrnym']
    psswrd = request.POST['usrpass']
    usr = authenticate(user=usrnym,password=psswrd)
    if usr is not None:
        if usr.is_active:
            login(request, usr)
            # redirect to success page
        else:
            pass
            # redirect to a 'disabled account' error message
    else:
        # return an 'invalid login' error message
        errmsg = "Invalid login. Password and username did not match."
        template = loader.get_template('fsr/loginform.html')
        context = RequestContext(request, {
            'title': "Login Page",
            'error': errmsg,
            'usr': usrnym,
            'pwd': psswrd,
            'usra': usr,
        })
        return HttpResponse(template.render(context))

2 个答案:

答案 0 :(得分:2)

我可能错了,但不应该这样吗?

usr = authenticate(username=usrnym,password=psswrd)

答案 1 :(得分:2)

应该是用户名而不是用户的语法错误

usr = authenticate(username = usrnym, password = psswrd)