«Ошибка проверки CSRF» при попытке загрузить файл или создать папку с обозревателем файлов для Django - PullRequest
10 голосов
/ 12 ноября 2009

Я установил браузер файлов для Django (не filebrowser3), и когда я пытаюсь загрузить файл, я получаю следующую ошибку:

403 Запрещено

Ошибка проверки CSRF. Запрос прерванный.

Более подробная информация доступна с DEBUG = True.

Та же ошибка возникает, когда я пытаюсь создать новую папку, которая показывает, что проблема в том, что файловый браузер не может создавать файлы / каталоги в моем каталоге загрузок. Я использую настройки по умолчанию и вручную создал каталог /media/uploads с правами доступа 755.

Если я загружаю файл в каталог, то на странице администратора файлового браузера:

1 Папка: 0 Изображение: 1

Я не могу просмотреть загруженное изображение.

У меня установлены модули PIL и sorl.thumbnail.

Ответы [ 5 ]

6 голосов
/ 12 ноября 2009

Вы, вероятно, используете версию Django для разработки, которая включает в себя довольно много дополнительной защиты CRSF. Однако он еще не выпущен, поэтому внешние продукты, вероятно, не совместимы. Вместо этого вы должны использовать версию Django 1.1.

4 голосов
/ 09 ноября 2010

Добавьте к вам settings.py это 2 строки:

«django.middleware.csrf.CsrfViewMiddleware», «Django.middleware.csrf.CsrfResponseMiddleware»,

4 голосов
/ 19 ноября 2009

У Djangodocs есть больше информации о новых требованиях CSRF Django :

2 голосов
/ 28 октября 2010

Смотрите здесь: http://docs.djangoproject.com/en/dev/ref/contrib/csrf/, как сказал fitzgeralsteele. Объятия.

Пример: из django.views.decorators.csrf import csrf_exempt

@ csrf_exempt def my_view (запрос): return HttpResponse («Привет, мир»)

Отключить промежуточное программное обеспечение CSRF.

0 голосов
/ 27 мая 2012

это работает, добавляя

{% csrf_token %} 

мои формы выглядят так:

<form method="post" action="">
{% csrf_token %}
{{ form.non_field_errors }}
{{formulario}}
<input type="submit" value="Guardar">
</form>

к тегам в вашем файле шаблона и убедитесь, что «django.middleware.csrf.CsrfViewMiddleware» находится в вашем файле настроек, он по умолчанию

...