Django小部件

内部小部件的使用

  继承自forms.Form

  1. 基本版

只指定控件的类型

属性=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)

 

 

posted @ 2018-08-31 11:33  Python_Boy  阅读(600)  评论(0编辑  收藏  举报