Django小部件
内部小部件的使用
继承自forms.Form
-
基本版
只指定控件的类型
属性=forms.CharField(
label=’标签’,
widget=forms.小部件类型
)
Eg:(密码输入框)
Upwd=forms.Charfield(
label=’用户密码:’,
widget=forms.PasswordInput
)
2.高级版
指定控件类型之外还允许设置html属性
属性=forms.CharField(
label=’标签’,
widget=forms.小部件类型(
attrs={
‘html属性名称’:’属性值’ ,
‘html属性名称’:’属性值’
}
)
)
下面的小例子仅仅是简单使用了小部件,并没有做真正的验证
widget.html
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>小部件演示</title> 6 </head> 7 <body> 8 <form action="/13_widget/" method="post"> 9 {% csrf_token %} 10 {{ form.as_p }} 11 <p> 12 <input type="submit" value="提交" > 13 14 </p> 15 16 </form> 17 </body> 18 </html>
forms.py
class WidgetForm(forms.Form): uname=forms.CharField( label='用户名称', widget=forms.TextInput( attrs={ 'name':'user name', 'placeholder':'请输入用户名:', 'class':'form-control', } ) ) upwd = forms.CharField( label='用户密码', widget=forms.PasswordInput( attrs={ 'name': 'user_password', 'placeholder': '请输入用户密码:', 'class': 'form-control', } ) )
views.py
def widget_view(request): form=WidgetForm() return render(request,'widget.html',locals())
urls.py
#小部件 path('13_widget/', widget_view)