Как загрузить несколько файлов с помощью Django?Загрузка нескольких файлов с помощью Django
ответ
Кто-то уже создал поле для нескольких загрузок, которое может служить вашим целям.
http://scompt.com/archives/2007/11/03/multiple-file-uploads-in-django
Django имеет большую поддержку для построения форм и работу с загрузкой файлов. Я прочитал бы эти статьи, чтобы лучше понять, как работает код многопользовательского поля.
После много боли я в конце концов получил Uploadify (http://www.uploadify.com/) работает с Джанго, но проблема была в самом деле не Джанго, но заставить его работать с Apple, Мака ; браузеры на этой платформе не обслуживают файлы cookie из Flash; вам необходимо установить их вручную:
Так я включил их в мой рендер-к-réponse:
return render_to_response('files_upload.html', {
'session_cookie_name': settings.SESSION_COOKIE_NAME,
'session_key': request.session.session_key
и представить их Uploadify через конфигурацию, изложенной в шаблоне:
$(document).ready(function() {
$('#fileInput').uploadify({
'scriptData': {'{{session_cookie_name}}': '{{session_key}}'},
Я видел, как это улучшилось с помощью декоратора над представлением, но это был грязный хак, который я вложил в промежуточное программное обеспечение, чтобы скопировать POST в COOKIE до того, как промежуточное программное обеспечение сеанса начнет восстанавливать сеанс.
class FakeUploadCookieMiddleware(object):
"""TODO: replace the hardcoded url '/upload' with a 'reverse'."""
def process_request(self, request):
if request.path == '/upload/' \
and request.POST.has_key(settings.SESSION_COOKIE_NAME):
request.COOKIES[settings.SESSION_COOKIE_NAME] = \
request.POST[settings.SESSION_COOKIE_NAME]
logging.debug('Faking the session cookie for an upload: %s', \
request.POST[settings.SESSION_COOKIE_NAME])
ну, теперь это определенно должно быть помещено где-то на странице загрузки, на какое-то время борется, до тех пор, пока он его не выпустил и использовал http://blogs.bigfish.tv/adam/2009/06/14/swfupload-jquery-plugin/(не с django, хотя, но все же, определенно, файлы cookie, должно быть, были проблемой) –
Сделал именно то, что у вас здесь, и он все еще не работает - по-прежнему ошибка 403. Любые идеи? – miki725
- 1. Загрузка файлов с помощью Django + HTML Forms
- 2. Загрузка файлов с помощью Django Admin
- 3. Загрузка файлов с помощью Progressbar в Django
- 4. Загрузка больших файлов с помощью Python/Django
- 5. Загрузка нескольких изображений с помощью Django
- 6. Нужна загрузка нескольких файлов в форматах django
- 7. Загрузка нескольких файлов с помощью HapiJS
- 8. Загрузка нескольких файлов с помощью Codeigniter 3
- 9. загрузка нескольких файлов с помощью Ihttphandler
- 10. Загрузка нескольких файлов с помощью Javascript
- 11. HTML5 Загрузка нескольких файлов с помощью AJAX?
- 12. Загрузка нескольких файлов с помощью CakePHP Uploader
- 13. Загрузка нескольких файлов свойств с помощью Camel
- 14. Загрузка нескольких файлов с помощью nodemailer/sendgrid
- 15. Загрузка нескольких файлов с помощью полос
- 16. Загрузка нескольких файлов с помощью retrofit 2.0
- 17. php Загрузка нескольких файлов с помощью ajax
- 18. Загрузка нескольких файлов с помощью VB.Net
- 19. Загрузка нескольких файлов одновременно с помощью Flex
- 20. Загрузка нескольких файлов с помощью Selenium click()?
- 21. Загрузка нескольких файлов с помощью urlStream + fileStream
- 22. Загрузка нескольких файлов с помощью Multer
- 23. Загрузка нескольких файлов с помощью Flash
- 24. Загрузка нескольких файлов с помощью angularjs
- 25. Загрузка нескольких файлов с помощью jQuery
- 26. Загрузка нескольких файлов CSV с помощью SQLite
- 27. Загрузка нескольких файлов с помощью HTML 5
- 28. Загрузка нескольких файлов изображений с помощью титров
- 29. Загрузка нескольких файлов с помощью webdriver
- 30. Загрузка нескольких файлов Angularjs
Спасибо. Кажется, это работает, но я получаю фанки-ошибку. Независимо от того, что я загружаю, я получаю: «Файл не был отправлен. Проверьте тип кодировки в форме». Посмотрев на источник, я вижу, что это TypeError. – 2009-08-28 20:55:55
У вас есть enctype = "multipart/form-data"? – zalew
Это только «несколько» в том смысле, что он создает много полей «». Было бы лучше поддерживать атрибут 'multiple' HTML5 в' '. –