如果用户名和密码正确,但是is_active
字段为false,但没有显示此代码的消息,则尝试显示一些消息。它向我显示else
即使该无效用户的用户名和密码正确,也可以分开。该怎么办?
我认为将is_active
字段设置为false后,会将User设置为None
views.py
form = LoginForm()
if request.method == 'POST':
form = LoginForm(request.POST)
if form.is_valid():
username = form.cleaned_data['username']
password = form.cleaned_data['password']
remember_me = form.cleaned_data['remember_me']
user = authenticate(request,username=username,password=password)
if user and not user.is_active:
messages.info(request,'Sorry your account is deactivated now.')
return redirect('/login/')
elif user and user.is_active:
login(request,user)
if not remember_me:
request.session.set_expiry(0)
else:
request.session.set_expiry(settings.SESSION_COOKIE_AGE)
else:
messages.error(request,'Invalid login credentials. Try Again.')
return redirect('/login/')