【问题标题】:Initialise a Django multiple file field form初始化 Django 多文件字段表单
【发布时间】:2017-06-22 15:51:01
【问题描述】:

我有一个 django 表单定义为:

class FileFieldForm(forms.Form):
    file_field = forms.FileField(widget=forms.ClearableFileInput(attrs={'multiple': True}))

当我在我正在使用的视图中加载此表单时:

file_form = FileFieldForm(request.POST, request.FILES)
    files = request.FILES.getlist('file_field')
    if file_form.is_valid():
        for f in files:
            m = MyImages (
                 image = f,
                 item = item
            )
            m.save()

我现在想用其中的文件初始化表单,并允许用户更改、删除、更新文件。

我的问题是: 1. 这种情况下如何初始化表单? 2. 如何查看用户重新提交时是否更改?

感谢您的帮助

【问题讨论】:

  • 您可以使用校验和检查文件是否已更改。您只需计算一次校验和并将其存储在数据库中

标签: python django django-forms


【解决方案1】:

我找不到初始化表单的方法,所以我改用查询集并像这样显示它们:

            <label for="id_file_field" class="btn-abysm center">Upload Images</label><br>
                {{ file_form.file_field }}
                <div id="result" ondrop="drop(event)" ondragover="allowDrop(event)">
                    {% for f in myimages %}
                        <span><img class="image-thumbnail" draggable="true" ondragstart="drag(event)" id="drag{{ forloop.counter }}" src="{{ f.image.url }}" ></span>
                    {% endfor %}
                </div>

【讨论】:

    猜你喜欢
    • 2010-10-23
    • 2014-09-28
    • 2023-03-29
    • 2014-04-01
    • 2015-06-22
    • 2020-06-29
    • 2022-01-15
    • 2021-01-22
    • 1970-01-01
    相关资源
    最近更新 更多