【问题标题】:Django multiple files upload only returns the last fileDjango多文件上传只返回最后一个文件
【发布时间】:2017-03-03 00:49:15
【问题描述】:

我正在尝试将多个文件从表单发布到我的 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)

输出:

[&lt;InMemoryUploadedFile: name_of_last_image&gt;]

知道如何解决这个问题吗?非常感谢您的帮助。

提前致谢!

【问题讨论】:

    标签: python html django forms


    【解决方案1】:

    如果您尝试使用单个 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

    【讨论】:

    • 我已经完全按照 django 文档所说的做了。它不能解决问题。
    • 谢谢,但不是真的。您的解决方案使用多个输入字段。
    猜你喜欢
    • 2015-07-13
    • 1970-01-01
    • 1970-01-01
    • 2023-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-02
    • 2013-12-29
    相关资源
    最近更新 更多