所以我在投资组合网站上工作,我有一个名为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)