В моем веб-приложении я отправляю электронное письмо пользователю, чтобы активировать его учетную запись, и когда я перенаправляю его на страницу подтверждения из электронной почты, пункты меню, которые не должны отображаться, отображаются, потому что он аутентифицируется, не войдя в систему, хотя такого не должно быть
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 %}
Здесь пользователь проходит оба условия и отображаются все пункты меню хотя он не должен был аутентифицироваться