【发布时间】:2011-10-01 11:03:03
【问题描述】:
当有人在选择带有<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 标记和 not 其他东西的解决方案(这可能涉及Javascript)。
【问题讨论】:
-
啊,你更新了你的帖子...请忽略我的回答
-
根据文档 (docs.djangoproject.com/en/dev/ref/request-response/…) 它应该可以工作。也许发布您的视图代码?
-
“其他”方法是正确的,如文档中所述:docs.djangoproject.com/en/dev/topics/http/file-uploads/…。您应该在模型中而不是直接在 HTML 中定义文件上传表单。
-
@George:这些可能会更好,但我的方法并没有“错误”,所以我想在求助于为我自动化的工具之前学习如何手工操作。如果我不知道某个工具在做什么,我通常不会使用它。
-
@George:实际上,我发现 Django 非常棒,正是因为它可以让您在需要/需要时手动操作。我记得在 Django 书中读到“几乎所有 Django 部分都是可选的”,因为他们不希望框架妨碍。
标签: html django file-upload input requesthandler