我有一个带的Django表单,与RegexField正常的文本输入字段非常相似。
RegexField
我认为,在某些情况下,我想向用户隐藏它,并尝试使表单尽可能相似。将这个领域变成一个HiddenInput领域的最好方法是什么?
HiddenInput
我知道我可以使用以下方法在字段上设置属性:
form['fieldname'].field.widget.attr['readonly'] = 'readonly'
我可以通过以下方式设置所需的初始值:
form.initial['fieldname'] = 'mydesiredvalue'
但是,这不会更改小部件的形式。
什么是使此字段成为<input type="hidden">字段的最佳/最“ django-y” /最不“ hacky”的方法?
<input type="hidden">
如果您具有自定义模板并查看,则可以排除该字段并用于{{ modelform.instance.field }}获取值。
{{ modelform.instance.field }}
您也可以在视图中使用:
form.fields['field_name'].widget = forms.HiddenInput()
但我不确定它是否会在发布后保护保存方法。
希望能帮助到你。