2017-06-22 74 views
1

我有一个Django的形式定义为:初始化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.如何在用户重新提交时检查它们是否已更改?

感谢您的帮助

+0

您可以检查使用该文件被改变校验或不。您只需计算一次校验和并将其存储在数据库中 –

回答

0

我无法找到一个方法来初始化的形式,所以我使用的查询集,而不是和他们显示像这样:

  <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>