Python 如何自定义模型表单填充数据

Python 如何自定义模型表单填充数据,python,django,django-forms,Python,Django,Django Forms,我有这个模型: class Gallery(models.Model): HeadImage = models.ImageField(upload_to="gallery") 使用此表格: class GalleryForm(ModelForm): class Meta: model = Gallery 这种观点: gform = GalleryForm(request.POST, request.FILES, instance=galleryInstance)

我有这个模型:

class Gallery(models.Model):
   HeadImage = models.ImageField(upload_to="gallery")
使用此表格:

class GalleryForm(ModelForm):
   class Meta:
       model = Gallery
这种观点:

gform = GalleryForm(request.POST, request.FILES, instance=galleryInstance)
在模板中显示一个已填写的表单。对于
HeadImage
字段,它显示与
HeadImage
字段相关的图像链接,以及带有
change
标签的文件输入:

{{ gform.HeadImage }}
现在,我想把图片放到
img
标签中,而不是图片的链接。我在模板中执行以下操作:

<img src={{ gform.HeadImage.value }}/>


我应该怎么做才能使链接不显示在表单中?

要防止它显示,请使用以下三个选项之一:

  • 在模型字段上设置
    editable=False
  • 使用
    ModelForm
    的内部
    Meta
    类的
    字段
    属性
  • 使用
    ModelForm
    的内部
    Meta
    类的
    exclude
    属性

  • 使用哪一个取决于您希望字段显示的频率(从不,或在某些情况下)。有关这方面的详细信息,请参阅。

    尝试在模型中为HeadImage字段设置editable=False editable=False不起作用,请注意,这是一个编辑表单!editable=false不起作用,对于其他2种解决方案,我在您建议的文档中找不到任何方法。指定例如
    exclude
    model=Gallery;exclude=('Head_Image',)
    应防止在使用表单时显示该字段的表单条目。但是,我觉得我误解了这个问题:你能详细说明一下“我该怎么做才能使链接不显示在表单中?”你的确切意思是什么?我的意思是,当我的页面中显示画廊填充的表单时,它会自动将头像的当前值显示为链接,并显示一个输入文件以更改当前值,我不想让它显示这个链接。记住我用这个在我的模板中显示HeadImage:{{gallery\u form.HeadImage}}也许你应该自己创建一个表单,而不是使用
    ModelForm
    类GalleryForm(forms.form):HeadImage=forms.ClearableFileInput()
    。提供一些初始值,并在模板中手动构造表单。在视图中,您必须解构它并更新您的模型,但如果Django的标准表单生成器不起作用,这可能是您唯一的选择。我可以解决在模板中编写手动代码的问题,但主要问题是我有一个与名为Images的模型相关的图像集,该模型会自动添加新的输入文件进行填充,我不能让它成为手动的。对于一个有一组图像的表单集,我如何才能做到这一点?