Django多个文件上传只返回最后一个文件

时间:2017-03-02 16:12:42

标签: python html django forms

我正在尝试将多个文件从表单发布到我的django视图中。但是,只发布了上传的最后一个文件。

HTML:

<form enctype="multipart/form-data" role="form" method = "post">
    {% csrf_token %}
    {% load bootstrap %}
    {{form|bootstrap}}
    <input type="file" id="upload" name="myfiles[]" multiple>
    <div id="upload_prev"></div>
    <button type="submit">{% trans "upload_lesson_plan" %}</button>
</form>

蟒:

files = request.FILES.getlist('myfiles[]')
print(files)

输出:

[<InMemoryUploadedFile: name_of_last_image>]

知道怎么解决这个问题吗?我非常感谢你的帮助。

提前致谢!

1 个答案:

答案 0 :(得分:0)

如果您尝试使用单个InputFile上传多个文件,则无法使用。您只会收到最后选择的文件。每个都需要一个InputFile。

Docs

<form enctype="multipart/form-data" role="form" method = "post">
    {% csrf_token %}
    {% load bootstrap %}
    {{form|bootstrap}}
    <input type="file" id="upload1" name="myfiles[]">
    <input type="file" id="upload2" name="myfiles[]">
    <input type="file" id="upload3" name="myfiles[]">
    <div id="upload_prev"></div>
    <button type="submit">{% trans "upload_lesson_plan" %}</button>
</form>

您可能想尝试django-multiupload在说明中说明允许使用单个输入文件上传多个文件。

Similar Question