{{ theform.address }}
{{ theform.phone }}
这就是我在模板中所做的。
但是,如果我想将placeholder="Username"
添加到输入文本字段,该怎么办? (自定义属性)
<input type="text" name="address" id="id_address" placeholder="username"/>
答案 0 :(得分:7)
将attrs
关键字参数添加到字段构造函数的widget
,并在其中包含您的属性:
address = forms.TextField(widget=forms.TextInput(attrs={'placeholder': 'username'}))
如果您想看到它的实际效果,请查看django-registration's forms.py。
答案 1 :(得分:4)
或者,您可以使用http://pypi.python.org/pypi/django-widget-tweaks应用:
{% load widget_tweaks %}
...
{{ theform.address|attr:"placeholder:username" }}
答案 2 :(得分:0)
在指定表单的类中,您可以为每个表单元素设置“小部件”。 “小部件”包含有关该元素的属性等的信息。
这是一个示例(如果您通过ModelForm创建表单,则适用):
class BlogEntryForm(ModelForm):
class Meta:
model = BlogEntry
fields = (
'title',
'category',
'text_entry',
'private'
)
widgets = {
'category': forms.Select(
attrs={
'class': 'form-control'
},
choices=[]
),
'title': forms.TextInput(
attrs={
'class': 'form-control',
}
),
'text_entry': forms.Textarea(
attrs={
'id': 'text-editor',
'class': 'form-control',
'rows': '17',
}
),
'private': forms.CheckboxInput(
attrs = {
'id': 'make-post-private',
'class': 'custom-control-input'
}
)
}