微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在更新视图中的 django 中制作可清除的文件输入

如何解决如何在更新视图中的 django 中制作可清除的文件输入

在我的 django 应用程序中,我有一个带有文件字段“identification_image_front”的人物模型。我还使用 Fileinput 小部件为该字段定义了一个 ModelForm。对于模板,我使用 jasny-bootstrap 插件来表示带有“选择文件”、“删除”和“更改”选项的文件输入 在 CreateView 中创建新工作时,可以使用以下代码保存文件。但是在使用 UpdateView 更新现有工作人员时,文件输入始终为空。无法查看 Worker 是否附加了文件,也无法从现有的 Worker 中删除文件。有什么方法可以在 fileinput 中加载文件并启用“删除”选项,以便我可以删除或更改现有工作人员的文件? 也许还有另一种方法可以使用其他插件或 HTML 代码来做到这一点。我愿意接受建议

The inputfield is empty in the updateview

In the createview is possible to remove the file

这是我的代码

class WorkerModel(BaseModel):

    name = models.CharField(verbose_name=_("Nombre "),max_length=50,blank=False,null=False)
    surname1 = models.CharField(verbose_name=_("Primer apellido"),null=False)
    surname2 = models.CharField(verbose_name=_("Segundo apellido"),null=False)

    identification_image_front = models.FileField(verbose_name=_("Foto carnet frontal"),upload_to="app_person_identification_image_front",null=True,blank=True)

 class WorkerForm(forms.ModelForm):
    
        class Meta:
            model = WorkerModel
            exclude = ("id",)
            widgets = {
                
                'name':forms.TextInput(attrs={'class': 'form-control'}),'surname1' : forms.TextInput(attrs={'class': 'form-control'}),'surname2' : forms.TextInput(attrs={'class': 'form-control'}),'identification':forms.TextInput(attrs={'class': 'form-control'}),'identification_image_front': forms.FileInput(attrs={'accept': 'application/pdf,image/png,image/jpeg'}),}

在模板中

<div>
      {{ form.identification_image_front.label }}
  </div>
  <div class="fileinput fileinput-new input-group" data-provides="fileinput">
    <div class="form-control" data-trigger="fileinput">
      <span class="fileinput-filename"> </span>
    </div>
    <span class="input-group-append">
      <span class="input-group-text fileinput-exists" data-dismiss="fileinput">
        Remove
      </span>
      <span class="input-group-text btn-file">
        <span class="fileinput-new">Select file</span>
        <span class="fileinput-exists">Change</span>
        {{ form.identification_image_front }}
        
      </span>
    </span>
  </div>

视图定义

class WorkerCreateView(LoginrequiredMixin,CreateView):
    model = WorkerModel
    #group_required = [u'Auxiliar Legal','Jefe de la Oficina Local','Jefe de la RBRP']
    context_object_name = 'obj'
    template_name = 'app/worker/worker_form.html'
    form_class = WorkerForm

    def get_success_url(self):
        return reverse_lazy("app:worker_detail",kwargs={"pk":self.object.id})

class WorkerUpdateView(LoginrequiredMixin,UpdateView):
    model = WorkerModel
    #group_required = [u'Auxiliar Legal','Jefe de la RBRP']
    context_object_name = 'obj'
    template_name = 'app/worker/worker_form.html'
    form_class = WorkerForm
   
    def get_success_url(self):
        return reverse_lazy("app:worker_detail",kwargs={"pk":self.object.id})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?