"CSRF-проверка не удалась" при попытке загрузить файл или создать папку с файловым браузером для Django
Я установил filebrowser для Django (not filebrowser3), и когда я пытаюсь загрузить файл, я получаю следующую ошибку:
403 Запрещено
Не удалось выполнить проверку CSRF. Запрос прервана.
Дополнительная информация доступна с DEBUG = True.
То же самое происходит при попытке создать новую папку, которая показывает, что проблема в том, что файл-браузер не может создавать файлы/директории в каталоге моих загрузок. Я использую настройки по умолчанию и вручную создал каталог /media/uploads
с его правами, установленными как 755
.
Если я загружу файл в каталог, тогда на странице администрирования файла-браузера указывается:
1 Папка товара: 0 Изображение: 1
Я не могу просмотреть загруженное изображение.
У меня установлены модули PIL и sorl.thumbnail.
Ответы
Ответ 1
Вероятно, вы используете версию Django для разработки, которая включает в себя довольно много дополнительной защиты CRSF. Однако он еще не выпущен, поэтому внешние продукты, вероятно, несовместимы. Вместо этого вы должны использовать версию Django версии 1.1.
Ответ 2
В Djangodocs есть больше информации о новых требованиях Django CSRF:
Ответ 3
Добавьте к вам settings.py две строки:
"django.middleware.csrf.CsrfViewMiddleware," Django.middleware.csrf.CsrfResponseMiddleware,
Ответ 4
Смотрите здесь: http://docs.djangoproject.com/en/dev/ref/contrib/csrf/, как сказал fitzgeralsteele.
Объятия.
Пример:
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def my_view (запрос): return HttpResponse ('Hello world)
Отключите промежуточное ПО CSRF.
Ответ 5
он добавляет
{% csrf_token %}
мои формы выглядят так:
<form method="post" action="">
{% csrf_token %}
{{ form.non_field_errors }}
{{formulario}}
<input type="submit" value="Guardar">
</form>
в теги в файле шаблона
и убедитесь, что "django.middleware.csrf.CsrfViewMiddleware" находится в вашем файле настроек, он по умолчанию