Django 身份验证是 None
Django authenticate is 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,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",{ })
我已经设置了超级用户和更新了数据库,但是后台密码用户还是returnsNone
authenticate
函数采用以下形式的参数:
authenticate(username='john', password='secret')
.
改变
user_name -> 用户名
在争论中
默认的身份验证看起来像这样
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
所以我认为你需要更改 用户名 如果你不是 overriding它
user = authenticate(username=user_name,password=pass_word)
在这一行中,authenticate 函数将 username=user_name
而不是 user_name=user_name
作为参数。我认为这可能是问题所在。
希望这对您有所帮助:-)
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",{ })
我已经设置了超级用户和更新了数据库,但是后台密码用户还是returnsNone
authenticate
函数采用以下形式的参数:
authenticate(username='john', password='secret')
.
改变
user_name -> 用户名
在争论中
默认的身份验证看起来像这样
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
所以我认为你需要更改 用户名 如果你不是 overriding它
user = authenticate(username=user_name,password=pass_word)
在这一行中,authenticate 函数将 username=user_name
而不是 user_name=user_name
作为参数。我认为这可能是问题所在。
希望这对您有所帮助:-)