我有一个带有a的django表单RegexField(与普通的文本输入字段非常相似).在我看来,在某些情况下,我想将其隐藏在用户之外,并尽量保持表单尽可能相似.
将这个领域变成一个HiddenInput领域的最佳方法是什么?我知道我可以在字段上设置属性<input type="hidden">,我可以设置所需的初始值RegexField.但是,这不会改变小部件的形式.
什么是使这个领域成为一个HiddenInput领域的最佳/最django-y /最少hacky方式?
我有一个自定义TagField表单字段.
class TagField(forms.CharField):
def __init__(self, *args, **kwargs):
super(TagField, self).__init__(*args, **kwargs)
self.widget = forms.TextInput(attrs={'class':'tag_field'})
Run Code Online (Sandbox Code Playgroud)
如上所示,它使用TextInput表单字段小部件.但在管理员中我希望它使用Textarea小部件显示.为此,有formfield_overrides钩子,但它不适用于这种情况.
管理声明是:
class ProductAdmin(admin.ModelAdmin):
...
formfield_overrides = {
TagField: {'widget': admin.widgets.AdminTextareaWidget},
}
Run Code Online (Sandbox Code Playgroud)
这对表单字段小部件没有影响,tags仍然使用TextInput小部件进行呈现.
任何帮助深表感谢.
-
omat