我有一个带有 RegexField
的 Django 表单,它与普通文本输入字段非常相似。
在我看来,在某些情况下我想对用户隐藏它,并尽量保持表单相似。将此字段转换为 HiddenInput
字段的最佳方法是什么?
我知道我可以在字段上设置属性:
form['fieldname'].field.widget.attr['readonly'] = 'readonly'
我可以设置所需的初始值:
form.initial['fieldname'] = 'mydesiredvalue'
但是,这不会改变小部件的形式。
使该字段成为 <input type="hidden">
字段的最佳/最“django-y”/最“hacky”方法是什么?
原文由 Amandasaurus 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您有自定义模板和视图,您可以排除该字段并使用
{{ modelform.instance.field }}
获取值。您也可能更喜欢在视图中使用:
但我不确定它会在发布时保护保存方法。
编辑:具有多个值的字段不支持 HiddenInput 作为输入类型,因此请为此字段使用默认的隐藏输入小部件。
希望能帮助到你。