用于更新对象的Django表单不保留文件

时间:2014-06-27 11:28:59

标签: python django forms file

所以我在投资组合网站上工作,我有一个名为Work的表单代表了投资组合中的作品。 A Works具有用于普通图像的M2M字段,以及用于缩略图等的主图像的一个ImageField。

我的问题如下,当我转到我为Work创建的更新视图时,旧的Image(已经在数据库中)列在表单中,但在字段本身中没有。它表示当前:[图像的名称],然后是带有标签edit的常规文件字段。

我不希望用户只有在再次上传图片时才能更新作品。如何将当前图像传递给表单?

#models.py
class Work(models.Model):
    name = models.CharField(max_length=255) 
    image = models.ImageField( upload_to="images" )

#forms.py
class Meta:
    model = Work
    exclude = ('slug',)

#views.py
def workEdit(request, pk):

    if request.method == "POST":
        form = WorkForm(request.POST, request.FILES)

        if form.is_valid():
            new_work = form.save(commit=True)
            return redirect("/portfolio/beheer/werk")
    else:
        print(form)
        print(form.errors)
    else:
        work = get_object_or_404(Work, pk=pk)
        form = WorkForm(request.POST ,request.FILES, instance=work)



context = {

    'form': form,

}
return render(request, 'submit.html', context)

0 个答案:

没有答案