Здесь я пытаюсь отобразить некоторые сообщения, если имя пользователя и пароль верны, но если поле is_active
имеет значение false, но оно не отображает сообщение с этим кодом. Оно отображает часть else
, даже еслиимя пользователя и пароль верны для этого неактивного пользователя. Как я могу это сделать?
Я думаю, что после установки поля is_active
в значение false, пользователь устанавливает 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/')