当我运行以下代码时,它会显示“完成”。但是,当我检查用户是否返回任何东西时,它没有返回-它返回None。如果dj_login()正在运行而没有任何错误,这是一个问题吗?
def login(request):
if request.method == 'POST':
try:
username = request.POST.get('username')
password = request.POST.get('password')
try:
user = authenticate(request, username=username, password=password)
dj_login(request, user, backend='django_auth_ldap.backend.LDAPBackend')
messages.success(request, "You have been logged in.")
print("done")
return render(request, "app/login.html")
except Exception as e:
print(e)
messages.error(request, "Failed to Login Errors: {}".format(e))
return render(request, "app/login.html")
except Exception as e:
messages.error(request, "Failed to Login Errors: {}".format(e))
return render(request, "app/login.html")
return render(request, 'app/login.html')
你应该检查身份验证是否返回了实际用户或“无”。一个简单的if语句将为你做到这一点。