@marselabdullin

Как сохранить пользователя, но user.is_authenticate должен быть ложным?

В моем веб-приложении я отправляю электронное письмо пользователю, чтобы активировать его учетную запись, и когда я перенаправляю его на страницу подтверждения из электронной почты, пункты меню, которые не должны отображаться, отображаются, потому что он аутентифицируется, не войдя в систему, хотя такого не должно быть

Views функция для активации пользователя:
def activate_user_account(request, signed_user=None):
        user, signature = decoder(request, signed_user)
    
        if user and signature:
            user.email_confirm = True
            user.save()
            return render(request, 'email_verify_done.html', {'user': user})

И после этого функция перенаправляет пользователя на этот шаблон:
{% if user.is_active %} {% if user.is_authenticated %}
            <p class="text-center">{% trans 'Your email address confirmed' %}</p>
    
            {% else %}
            <p class="text-center">
                {% trans 'You can' %}
                <a href="{% url 'users:login' %}"> {% trans 'log in now' %}</a>
                {% trans 'or do it in your mobile app' %}
            </p>
            {% endif %} {% else %}
            <p>{% trans "Something went wrong." %}</p>
            {% endif %}


Здесь пользователь проходит оба условия и отображаются все пункты меню хотя он не должен был аутентифицироваться
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
@marselabdullin Автор вопроса
Решил проблему так:
{% if user.is_active %} 
    {% if request.user.is_authenticated %}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы