Uploading multiple files with Django

后端 未结 2 1970
一整个雨季
一整个雨季 2021-01-01 03:34

How do I upload multiple files with Django?

相关标签:
2条回答
  • 2021-01-01 04:17

    After a lot of pain I eventually got uploadify (http://www.uploadify.com/) working with django, but the problem wasn't really django's, but getting it to work with Apple Mac's; browsers on that platform don't serve the cookies from within Flash; you need to set them manually:

    So I include these in my render-to-reponse:

    return render_to_response('files_upload.html', {
           'session_cookie_name': settings.SESSION_COOKIE_NAME,
           'session_key': request.session.session_key
    

    And present them from uploadify via the configuration laid down in the template:

    $(document).ready(function() {
        $('#fileInput').uploadify({
            'scriptData': {'{{session_cookie_name}}': '{{session_key}}'},
    

    I've seen this done better with a decorator over the view, but this was the dirty hack I put in middleware to copy the POST into COOKIE before the session middleware runs to restore the session.

    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])
    
    0 讨论(0)
  • 2021-01-01 04:38

    Someone has already created a multi-upload field that might serve your purposes.

    http://scompt.com/archives/2007/11/03/multiple-file-uploads-in-django

    Django has great support for building forms and working with file uploads. I would read through these articles to better understand how the multi-upload field code works.

    1. Django Docs - Forms
    2. Django Docs - File Uploads
    0 讨论(0)
提交回复
热议问题