Задать вопрос
@bash77

Python & Django / Ошибка проверки CSRF. Запрос отклонён. что не так?

доброго всем дня! питон знаю хорошо, но вот джанго второй день только мучаю. и второй день на энтой ошибке.

итак: проект создан по мануалу. создаю форму, внутри формы пишу {% csrf_token %} в настройках по дефолту 'django.middleware.csrf.CsrfViewMiddleware' включено.

рендерю во вьюшке вот так:

def index(request):
    cats = CategoryQuestion.objects.all().order_by("name")
    return render(request, "index.html", {"cats": cats})


токен в куки прилетает, в форме код токена тоже есть и он совпадает с кукисным. но при нажатии на кнопку Submit - Ошибка проверки CSRF. Запрос отклонён. использую встроенный девелоп веб-сервер. версия django 1.9 в чем беда подскажите. умаялся уже, доку перечитываю в который раз и ничего не помогло.
  • Вопрос задан
  • 9759 просмотров
Подписаться 2 Оценить 2 комментария
Решения вопроса 1
@bash77 Автор вопроса
Ошибку победил! в шаблоне форма начиналась так:
<form method="post" action="testing/"  enctype="text/plain">
{% csrf_token %}
...

удалил enctype="text/plain" - все заработало! спасибо за помощь!
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Gasoid
@Gasoid
возможно название поля не csrfmiddlewaretoken ? или с другого домена посылаете
посмотрите, что уходит из браузера в консоли
Ответ написан
@belanchuk
Я с таким сталкивался при разработке.
Чтоб исключить эту ошибку при разработке, ставьте декоратор @csrf.csrf_protect на вьюхе которая отдает форму.
При деплое этот декоратор убирайте.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы