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,password=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",{ })
我已经设置了超级用户并更新了数据库,但后台密码用户仍然返回无
答案 0 :(得分:2)
authenticate
函数以形式接受参数:
authenticate(username='john', password='secret')
。
变化
user_name - >用户名
参数中的
答案 1 :(得分:0)
默认身份验证看起来像这样
from django.contrib.auth import authenticate
user = authenticate(username='john', password='secret')
if user is not None:
# A backend authenticated the credentials
else:
# No backend authenticated the credentials
所以如果您不是 覆盖 ,我认为您需要更改 用户名
答案 2 :(得分:0)
user = authenticate(username=user_name,password=pass_word)
在此行中,authenticate函数以username=user_name
而不是user_name=user_name
作为参数。我认为这可能是个问题。
希望这会有所帮助: - )