Начало работы В django 4.1 auth LogoutView требует POST (не GET) запроса: Есть ли встроенная форма, чтобы я мог получить CSRF?

По состоянию на 23 августа 2022 года (20 дней после выхода 4.1), поиск в Google не смог найти ответ...

Спрашиваю на SO.

Встроенной формы нет, потому что представление требует только POST-запрос (а все POST-запросы требуют CSRF-токен, если только CSRF не исключен), а не какие-либо конкретные данные, которые форма могла бы отправить.

В примечаниях к выпуску Django 4.1 явно размещен этот пример сниппета для POST-формы выхода из системы, маскирующейся под ссылку:

<form id="logout-form" method="post" action="{% url 'admin:logout' %}">
  {% csrf_token %}
  <button type="submit">{% translate "Log out" %}</button>
</form>
#logout-form {
  display: inline;
}
#logout-form button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
}
Вернуться на верх