Сервер Django Dev непрочитанных данных POST будет ошибка - PullRequest
3 голосов
/ 16 января 2012

У меня есть решение, это больше вопрос почему.Проблема заключается в том, что при запуске сервера django dev, когда я делаю ajax POST-запрос с данными, если представление никогда не смотрит на POST, я получаю исключение urllib2.«Соединение было принудительно закрыто удаленным хостом» или что-то в этом роде.

Если нет данных поста, он возвращает нормально, если данные читаются, даже не сохраняются, простой запрос

.POST

также вернётся нормально.Почему это?

Спасибо

Ответы [ 2 ]

1 голос
/ 16 января 2012

Полагаю, вы не отправляете csrfmiddleware_token в своем почтовом запросе.Это механизм предотвращения CSRF-атак, и его необходимо установить для всех сообщений POST.Подробнее см. в документации .

0 голосов
/ 16 января 2012

Необходимо отключить защиту CSRF для этой функции просмотра, поскольку она включена по умолчанию (промежуточное программное обеспечение CSRF).

Вы можете отключить защиту CSRF двумя способами:

  1. Удалите промежуточное ПО CSRF и используйте декоратор @csrf_protect на просмотреть функции, которые вы хотите использовать защиту CSRF. Используйте это, если вы вообще не
    нужен CSRF (например, нет форм для большинства страниц). Смотри https://docs.djangoproject.com/en/1.3/ref/contrib/csrf/#the-decorator-method
  2. Используйте декоратор @csrf_exempt в представлении, от которого вы хотите освободить защиту CSRF. Это полезно, когда у вас есть только несколько функций просмотра, которые не требуют CSRF защита. Смотри https://docs.djangoproject.com/en/1.3/ref/contrib/csrf/#exceptions
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...