Как решить проблему с ошибкой выхода из системы при использовании Django-Jazzmin?
Надеюсь, у вас все хорошо! Я недавно создал django проект, и в процессе поиска методов настройки админ-панели, я нашел Django-Jazzmin. Он работает, крутой и все такое, но у меня с ним одна единственная проблема, когда я пытаюсь выйти из админ-панели, он возвращает ошибку 405, она же "метод не разрешен". Я работаю с фреймворком Django 5.0.2. Кто-нибудь нашел решение этой проблемы?
Я попытался зайти в "my-virtual_env\Lib\site-packages\jazzmin\templates\admin\base.html"
и изменить блок выхода из системы на :
<form method="post" action="{% url 'admin:logout' %}"> {% csrf_token %} <button type="submit" class="dropdown-item"> <i class="fas fa-users mr-2"></i> {% trans 'Log out' %} </button> </form>
но это не помогло!
Если у вас нет основных зависимостей с Django 4.2 или выше, попробуйте понизить версию Django до 4.1, это сработает. В репозитории автора пакета уже поднят PR. Эта проблема еще не решена.
Вот пиар: https://github.com/farridav/django-jazzmin/pull/523
Пожалуйста, ознакомьтесь с решением по ссылке ниже.
https://forum.djangoproject.com/t/django-jazzmin-logout/26110
Чтобы решить проблему с ошибкой выхода из системы при использовании Django-Jazzmin, вы можете изменить ссылку выхода из системы в шаблоне админки, чтобы она использовала форму отправки вместо простой гиперссылки. Это распространенная проблема в админке Django при использовании пользовательских шаблонов или плагинов вроде Django-Jazzmin.
Выполните следующие действия:
Перейдите к файлу шаблона, в котором настраивается интерфейс администратора Django-Jazzmin. Обычно он находится по адресу
/rootProject/templates/admin/base.html
.Найдите в шаблоне ссылку выхода из системы. Она может выглядеть примерно так:
<a href="{% url 'admin:logout' %}" class="dropdown-item">
<i class="fas fa-users mr-2"></i> {% trans 'Log out' %}
</a>
- Замените приведенный выше код на форму отправки:
<form action="{% url 'admin:logout' %}" method="post">
{% csrf_token %}
<button type="submit" class="dropdown-item">
<i class="fas fa-users mr-2"></i> {% trans 'Log out' %}
</button>
</form>
- Сохраните изменения в файле
base.html
.
Заменив ссылку на выход на отправку формы, вы обеспечите выполнение операции выхода из системы через POST-запрос, который является ожидаемым методом для таких конфиденциальных операций, как выход из системы. Это должно устранить 405-ю ошибку, с которой вы сталкиваетесь при попытке выйти из системы со страницы администратора.