文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>django中的newforms系统学习记录(一)

django中的newforms系统学习记录(一)

时间:2008-08-23  来源:honglang13

1.django的form系统现在包括oldforms,newforms,默认forms指向oldforms. newforms中包含主要包含fields(Field类,类型集和表单框内容的校验规则)、forms(Form类)、models(从models转换为forms)、widgets(widget类,表单框的类型)、util(主要有ValidationError异常类),而__init__.py导入了newforms中的所有模块的所有属性。所以导入newforms系统时,一般只需 from django import newforms as forms 2.从django标准Form类继承,建立新form类,其中可能还用到Field和Widget类, 如果要自定义表单框内容的输入校验规则,只需要定义一个新方法clean_XXX来定义自己的校验规则; 大致格式例: from django import newforms as forms   class bookforms(forms.Form):     name=forms.CharField()         def clean_name(self):         name=self.clean_data.get('name','')         if ...:            raise forms.ValidationError('...')         return name   form类实例对象(formobject)的is_valid()方法,可以判断表单输入内容是否通过验证; clean_data属性和clean方法,得到一个字典对象,包含验证后的数据字典; 如果XXX验证不通过,那么XXX的错误信息将存储在formobject.XXX.errors或者formobject.errors.XXX 3.templates中调用实例对象的as_p,as_table,as_ul方法将生成表单,但是这样生成的表单显示将有一定局限性,如果既想使用newforms系统,又不想使用上述方法来自动生成表单,那么在templates中自定义的表单每个结构的名字都要和自建form类的属性名完全相同。这样,我们就可以继续使用newforms中的封装方法。  
相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载