#python #django #django-models #django-forms #django-views
#python #django #django-модели #django-формы #django-просмотры
Вопрос:
Ну, я думаю, моя проблема довольно сложная. На самом деле я создаю веб-сайт, и я почти полностью выполнил функции входа и регистрации, и вдруг я заметил странное поведение с моим веб-сайтом. Я входил в систему с помощью администратора на вкладке, и в то же время я входил на свой веб-сайт, и я заметил, что перед входом в систему появилась опция для выхода из системы, но я не входил в этот вид спорта. Когда я нажал на кнопку выхода, мой суперпользователь просто вышел из системы. Так что, когда суперпользователь входит в систему с сайта администратора, каждый новый пользователь может видеть кнопку выхода, которую можно нажать, и суперпользователь выйдет из системы. Какую логику я могу применить после этого, когда все пользователи входят в систему, а в противном случае отображается только кнопка выхода. Я пытаюсь использовать следующий код. Пожалуйста, помогите мне, если можете.
——base.html—-
{% if user.is_active and user.is_authenticated and user.is_not_superuser %}
<a href="{% url 'accounts:logout' %}" class="get-started-btn">Logout</a>
{% endif %}
{% else %}
<a href="{% url 'accounts:signup' %}" class="get-started-btn">Get Started</a>
{% endif %}
Комментарии:
1. Вы работаете в одном браузере, поэтому все вкладки используют один и тот же файл cookie сеанса и имеют одну и ту же информацию о сеансе. Используйте два разных экземпляра браузера, если вы хотите протестировать двух разных пользователей одновременно.
2. Большое вам спасибо. Это краткое объяснение действительно полезно
Ответ №1:
Если вы войдете в панель администратора, вы также автоматически войдете на веб-сайт. Вот почему вы видите кнопку выхода. Тот же сеанс и файлы cookie
И используйте if not user.is_superuser
, если вам это все еще нужно.