使用Django上载多个文件

使用Django上载多个文件,django,upload,Django,Upload,如何使用Django上载多个文件?有人已经创建了一个多上载字段,可以满足您的需要 Django非常支持构建表单和文件上传。我将通读这些文章,以更好地理解多上传字段代码是如何工作的 在经历了很多痛苦之后,我最终得到了uploadify(),与django一起工作,但问题并不是django的问题,而是如何让它与Apple Mac一起工作;该平台上的浏览器不提供Flash中的cookie;您需要手动设置它们: 因此,我在“渲染到响应”中包含以下内容: return render_to_respo

如何使用Django上载多个文件?

有人已经创建了一个多上载字段,可以满足您的需要

Django非常支持构建表单和文件上传。我将通读这些文章,以更好地理解多上传字段代码是如何工作的


  • 在经历了很多痛苦之后,我最终得到了uploadify(),与django一起工作,但问题并不是django的问题,而是如何让它与Apple Mac一起工作;该平台上的浏览器不提供Flash中的cookie;您需要手动设置它们:

    因此,我在“渲染到响应”中包含以下内容:

    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}}'},
    
    我已经看到,在视图中使用装饰器可以更好地实现这一点,但这是我在会话中间件运行以恢复会话之前,在中间件中将帖子复制到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])
    

    谢谢这似乎有效,但我有一个奇怪的错误。无论我上传什么,我都会得到:“没有提交任何文件。请检查表单上的编码类型。”查看源代码,我可以看出这是一个类型错误。您是否得到enctype=“multipart/form data”?这只是“multiple”,因为他创建了许多
    字段。最好在
    上支持HTML5的
    多个
    属性。好吧,现在这肯定应该放在uploadify主页上的某个地方,与之斗争了一段时间,直到放弃并使用它(虽然不与django一起,但肯定cookies一定是个问题)确实做了你在这里,它仍然不工作-仍然错误403。有什么想法吗?