Использование <input type = "file"> в Django - PullRequest
1 голос
/ 08 июля 2011

Когда кто-то нажимает кнопку Отправить после выбора файла с элементом <input type="file">, как я могу получить доступ к содержимому файла в Django?

(Похоже, что запрос, отправленный обработчику запросов, нигде не содержит следов файла - даже в request.FILES.)

В настоящее время мой шаблон выглядит так:

<form method="post" enctype="multipart/form-data">
 <input type="file" enctype="multipart/form-data" name="file" accept="text/csv"/>
 <input type="submit" value="Upload" />
</form>

Вид:

def HandleRequest(request):
  print "**** request:", request

Я не вижу ничего напечатанного о файле.

Примечание:

Возможно, есть и другие способы сделать это в Django, но я ищу решение с использованием простого тега input и , а не чего-то другого (что, вероятно, связано с Javascript ).

1 Ответ

2 голосов
/ 08 июля 2011

Код, который вы разместили, как он опубликован, работает нормально.HTML-код является правильным (хотя я думаю, что enctype на <input> в лучшем случае избыточен), и очень простое представление показывает InMemoryFile после POST.Проблема должна лежать между браузером и вашим взглядом.Несколько вещей для проверки:

  • Middleware.
  • Apache.
  • Nginx.
  • Декораторы на ваш взгляд.1015 * конфигурация.
...