emm*_*mby 22 django django-forms
我有一个django模型,我使用ModelForm显示为一个表单.在大多数情况下,默认值对我来说非常有效.
但是,我希望我的html <input ...>标签有一个额外的属性,即我想包含一个placeholder属性,如下所示:
<input placeholder="{{field.label}}" ... />
Run Code Online (Sandbox Code Playgroud)
将此属性添加到我的html的最简单方法是什么?据我所知,我需要实现我自己的过滤器来输出字段,但是当我想要做的只是保持一切但添加一个额外属性时,这似乎有些过分.
Jos*_*ton 29
请参阅文档
class AuthorForm(ModelForm):
class Meta:
model = Author
widgets = {
'name': TextInput(attrs={'placeholder': 'name'}),
}
Run Code Online (Sandbox Code Playgroud)
您始终可以创建自己的窗口小部件,该窗口小部件派生自TextInput并包含占位符属性,并使用窗口小部件字典将字段简单地映射到新窗口小部件,而无需为每个字段指定占位符属性.
Mar*_*ark 15
我个人更喜欢使用这种方法:
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.fields['email'].widget.attrs['placeholder'] = self.fields['email'].label or 'email@address.nl'
Run Code Online (Sandbox Code Playgroud)
如果您还__init__没有,则需要更多代码,但您不需要指定小部件.
| 归档时间: |
|
| 查看次数: |
10690 次 |
| 最近记录: |