Django——form组件
2018-02-02 01:15
399 查看
之前我们已经学习了HTML中的基本标签——form表单,我们经常使用它向后台提交数据,常规的form表单是这样的:
<form action="" method="post"> <p>用户名:<input type="text" name="user"></p> <p>密码:<input type="text" name="pwd"></p> <P><input type="submit"></P> </form>
但是有许多时候我们这样使用非常不方便,为什么这样说了,上面的form表单中只有两个提交项,
但是实际中肯定不止两个,如果使用上面的方式,那么一旦有哪一个提交项不符合规定,整个form表单都得重写,
这是后用户肯定会抱怨,“凭什么错了一个全部得重写”,所以这样不方便,还有一个就是在对输入的东西值进行校验的时候,
每次都得先从前面取值,再在后台校验,烦不烦,能不能在后台生成得时候就设置好了?
这就是jango中form组件可以非常好的解决得问题。下面会一步一步解开解开它得面纱。
一、在Django中构建一个from表单
下面创建一个最简单的form表单:
from django.shortcuts import render #导入forms组件 from django import forms class LoginForm(forms.Form): user = forms.CharField(max_length=10) pwd = forms.CharField() def login(request): #实例化一个对象 form_obj = LoginForm() return render(request,"login.html",{"form_obj":form_obj})
在前端页面中展示form_obj:
{{ form_obj.as_p }}
as_p是一个特殊的属性,常见的有:
{{ form.as_table }}
以表格的形式将它们渲染在<tr>
标签中{{ form.as_p }}
将它们渲染在<p>
标签中{{ form.as_ul }}
将它们渲染在<li>
标签中
下面是效果:
# 单radio,值为字符串 # user = fields.CharField( # initial=2, # widget=widgets.RadioSelect(choices=((1,'上海'),(2,'北京'),)) # ) # 单radio,值为字符串 # user = fields.ChoiceField( # choices=((1, '上海'), (2, '北京'),), # initial=2, # widget=widgets.RadioSelect # ) # 单select,值为字符串 # user = fields.CharField( # initial=2, # widget=widgets.Select(choices=((1,'上海'),(2,'北京'),)) # ) # 单select,值为字符串 # user = fields.ChoiceField( # choices=((1, '上海'), (2, '北京'),), # initial=2, # widget=widgets.Select # ) # 多选select,值为列表 # user = fields.MultipleChoiceField( # choices=((1,'上海'),(2,'北京'),), # initial=[1,], # widget=widgets.SelectMultiple # ) # 单checkbox # user = fields.CharField( # widget=widgets.CheckboxInput() # ) # 多选checkbox,值为列表 # user = fields.MultipleChoiceField( # initial=[2, ], # choices=((1, '上海'), (2, '北京'),), # widget=widgets.CheckboxSelectMultiple # )View Code
相关文章推荐
- Django中button的处理 & ajax提交数据时不走Form组件验证
- Django 框架之Form组件
- django上课笔记6-MVC,MTV架构-中间件-初识Form组件
- Django——form组件is_valid校验机制
- 32.Django form组件
- Day22-Django之Form组件验证
- Django之ModelForm组件
- Python3 之 Django Web框架Form组件(二)
- 第十一篇:web之Django之Form组件
- django之Form组件
- Django之Form组件校验de几种方式
- 基于Django Form源码开发自定义Form组件
- Django 之 ModelForm 组件
- Python3 之 Django Web框架优化查询和Form组件(一)
- python,day22-Django之Form组件,信号
- 框架----Django之ModelForm组件
- Django 之Form组件
- django学习笔记---form组件验证,如何给form组件添加样式
- Django之Form组件
- python Django之Form组件