如果用户帐户在登录期间未激活,如何显示一些消息?

如果用户名和密码正确,但是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/')
xiaoylcs721521 回答:如果用户帐户在登录期间未激活,如何显示一些消息?

answer帮助了我。

我将此添加到了settings.py文件中,并且可以正常工作。

AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.AllowAllUsersModelBackend']
本文链接:https://www.f2er.com/3167535.html

大家都在问