我有以下 Django 表单:
class PageForm(forms.Form):
title = forms.CharField(max_length=50)
image = forms.ImageField(required=False)
content = forms.CharField(widget=forms.Textarea(attrs={'cols':20, 'rows':10}))
我正在使用它从给定模板创建新页面。但现在我还想添加编辑的可能性,所以我想使用表单来呈现相同的模板,只使用一些从页面 id 检索的默认值。这就是我所拥有的:
page_to_edit = Page.objects.filter(id=page_id)[0] // Get page from model
title = page_to_edit.title
content = page_to_edit.content
picture = page_to_edit.picture.order_by('?')[0].file // Here file is a models.ImageField
initial_data = {'title' : title, 'content' : content, 'image' : picture}
form = PageForm(initial_data)
// Finally return this form to template
现在这可以像我想要的标题和内容一样工作,并且这些在模板中正确呈现并具有初始值,但 ImageField 只是空的。我也尝试过传递图片.url 而不是图片,但没有变化。
任何帮助,将不胜感激。
一切顺利