Как отобразить какое-либо сообщение, если учетная запись пользователя не активна во время входа в систему? - PullRequest
0 голосов
/ 04 ноября 2019

Здесь я пытаюсь отобразить некоторые сообщения, если имя пользователя и пароль верны, но если поле 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/')

1 Ответ

0 голосов
/ 04 ноября 2019

Этот ответ помог мне.

Я добавил это в свой файл settings.py, и он заработал.

AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.AllowAllUsersModelBackend']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...