def login_page(request):
form = LoginForm(request.POST or None)
context = {
"form": form
}
print("User logged in")
#print(request.user.is_authenticated())
if form.is_valid():
print(form.cleaned_data)
username = form.cleaned_data.get("username")
password = form.cleaned_data.get("password")
user = authenticate(request, username=username, password=password)
print(user)
print(request.user.is_authenticated())
if user is not None:
print(request.user.is_authenticated())
login(request, user)
# Redirect to a success page.
context['form'] = LoginForm()
return redirect("/")
else:
# Return an 'invalid login' error message.
print("Error")
return render(request, "auth/login.html", context)
你好,我开始在 Django 中尝试编程,但在一个教程中,当导师点击提交时,它会对用户进行身份验证... 我在 stack overflow 上已经找到了几乎相同的问题,但问题是,有个人使用了字符串而不是变量(用户名 = 'username'),但问题是,当我点击提交时,我收到了一个错误:
User logged in
{'username': 'test123', 'password': 'test'}
None
False
Error
User logged in is just a string in print()
None <- print(user)
False <- print(request.user.is_authenticated())
Error <- else: print("Error")
我花了一个小时苦苦挣扎于这个问题之中(我们使用的 Django 版本相同)Django==1.11.4。