欢迎来到天天文库
浏览记录
ID:19949695
大小:18.75 KB
页数:4页
时间:2018-10-08
《浅析django form(3):表单核心字段参数和字段》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、浅析djangoform(3):表单核心字段参数和字段文档参考:概述我要弄清楚的是什么:1、djangoform字段的基础知识2、form字段的工作机制3、应用与实际项目中4、Form类与models的区别classField(**kwargs):当创建一个Form类,最重要的部分要创建form的字段,也就是字段类(classField(**kwargs))的实例。每个字段都有一系列的验证逻辑和少量的钩子??Field.clean(value)我们可以直接通过fromdjangoimportforms对应的字段
2、类实例化一个字段来用,当然这只是在开发测试或学习上用的,很多时候要写在Form类中组成一个兵团。每个字段实例都有一个clean()方法,可能需要一个参数,如果验证不通过则触发一个django.forms.ValidationError异常否则返回一个干净的值,我们当然期望返回一个干净的值了。>>>fromdjangoimportforms>>>f=forms.EmailField()#实例化一个表单字段>>>f.clean('foo@example.com')#传参数(干净的)u'foo@example.com
3、'>>>f.clean(u'foo@example.com')u'foo@example.com'>>>f.clean('invalide-mailaddress')Traceback(mostrecentcalllast):...ValidationError:[u'Enteravalide-mailaddress.']下面看看核心的字段参数核心字段参数Field.require字段必需性。如果传入为空或None,则触发ValidationError异常。如f=forms.CharField()如果传入空值或
4、None则触发异常,因为字段默认的required=True,如果更改这种状态,则设置f=forms.CharField(required=False)实例Field.label用于字段在表单的显示,如果不设置那么显示的就是字段的名称了。>>>classCommentForm(forms.Form):...name=forms.CharField(label='yourname')...comment=forms.CharField()...>>>f=CommentForm(auto_id=False)#**利
5、用auto_id=False来测试表单**>>>printf
6、CharField(initial='yourname')...comment=forms.CharField()...>>>f=CommentForm(auto_id=False)>>>printf
7、itial用于为绑定的表单,为什么这么说呢,可测试如下设想:通过一个字典对象,表单字段名做键,alue是初始化的值,设置为默认值,然后传入表单。如default_data={'name':'yourname','url':'http://'}f=CommentForm(default_data,auto_id=False)则结果如下:
8、
此文档下载收益归作者所有