Django 表单子类化 - 如何修改继承字段的某些属性,同时保留其他属性?
Posted
技术标签:
【中文标题】Django 表单子类化 - 如何修改继承字段的某些属性,同时保留其他属性?【英文标题】:Django form subclassing - How to modify some attribute, while retaining the other attributes, of an inherited field? 【发布时间】:2011-10-05 23:00:19 【问题描述】:我的问题是关于 Django 中的表单子类化。如何修改继承字段的某些属性,同时保留其他属性?
例如,我有一个名为 SignUpForm 的表单,它是 UserCreationForm 的子类。
用户创建表单:
...
password1 = forms.CharField(label=_("Password"), widget=forms.PasswordInput)
...
在 SignUpForm 中,我想用 widget=TextInput(attrs='size': 30) 覆盖 widget,同时保留 label 一样。这可能吗?如果是这样,怎么做?谢谢。
【问题讨论】:
【参考方案1】:您可以在__init__
中进行操作
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.fields['password1'].widget = TextInput(attrs='size': 30)
【讨论】:
正是我需要的。谢谢@DrTyrsa以上是关于Django 表单子类化 - 如何修改继承字段的某些属性,同时保留其他属性?的主要内容,如果未能解决你的问题,请参考以下文章
子类化 numpy ndarray 时,如何正确修改 __getitem__?
为 django 1.5 自定义用户模型子类化 django-registration 1.0 表单