Django UpdateView/ImageField问题:不返回新上传的imag

2024-10-01 19:28:05 发布

您现在位置:Python中文网/ 问答频道 /正文

型号:

class Logo(models.Model):
    media = models.ImageField(upload_to='uploads')

    def __unicode__(self):
      return self.media.url

视图:

^{pr2}$

模板:

  <form id="my_form" action="" method="post">{% csrf_token %}
      {{ form.as_p }}
      <input type="submit" value="Save Changes" />
  </form>

选择新图像:

form

调试视图:

现有图像:

(Pdb) self.object
<Logo: media/uploads/DSCN0844.JPG>

带有新选定图像的表单(DSC_0021.JPG):

(Pdb) test = form.save()
(Pdb) test
<Logo: media/uploads/DSCN0844.JPG>

正如你所看到的,原始图像保持原样!在


Tags: test图像selfform视图modelmodelsmedia
2条回答

如果您使用的是UpdateView,则只需将enctype="multipart/form-data"属性添加到模板中的form标记中。其余的将由UpdateView类处理。在

您需要保存提供请求.FILES公司名称:

if request.method == 'POST':
    form = MyForm(request.POST, request.FILES)
    if form.is_valid():
        form.save()

在HTML表单中(因为表单中有一个<input type="file">):

^{pr2}$

相关问题 更多 >

    热门问题