Python 如果用户帐户在登录期间未处于活动状态,如何显示一些消息?
如果用户名和密码正确,但如果Python 如果用户帐户在登录期间未处于活动状态,如何显示一些消息?,python,django,Python,Django,如果用户名和密码正确,但如果处于活动状态字段为false,则此处我尝试显示一些消息,但它不显示带有此代码的消息。即使该非活动用户的用户名和密码正确,它也会向我显示else部分。我如何操作 我认为在将is\u active字段设置为false后,它会将用户设置为None views.py form = LoginForm() if request.method == 'POST': form = LoginForm(request.POST) if form
处于活动状态
字段为false,则此处我尝试显示一些消息,但它不显示带有此代码的消息。即使该非活动用户的用户名和密码正确,它也会向我显示else
部分。我如何操作
我认为在将is\u 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/')
这对我有帮助
我在我的settings.py文件中添加了这个,它成功了
AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.AllowAllUsersModelBackend']