标签:
模板是一个独立的文本文件.包含静态内容(html),动态标记的逻辑,循环,数据显示. settings.py中的元组TEMPLATES = []启动自定义模板. 变量输出:{{ variable }} 标签:{% command %} {% for %} {{ forloop.first }}:返回一个布尔值,告诉是不是循环里的第一个 {{ forloop.last }}:返回一个布尔值,告诉是不是循环里的最后一个 {{ forloop.counter }}:循环计数器.从1开始计数. {{ forloop.counter0 }}:循环计数器.从0开始计数. 模板可以有继承(inheritance)和包含(include)来完成代码的重用和组合. 继承模板:{% extends %},{% block %}两个模板来实现.{% extends %}必须在模板的顶部调用.{% block %}模块及标签. 包含模板:{% include %},把自己替换成这个被包含的内容. 其他包含:{% ssi %} 代表apache的SSI-服务器.文件系统绝对路径.{{% ssi %}}被限定,通过ALLOWED_HOSTS = []变量指定 {% extends %},{% include %}引用的是settings.py里指定的template目录中定义的局部模板文件. 表单: forms.Form 表单里面有一个必须的Mate类.且类里面有一个必须的属性model.它的值就是所需的Model类.有一个save()方法.验证成功,会把信息保存到数据库,并返回Model对象结果.save方法有一个可选的参数commit(默认是True,控制是不是真的需要更新数据库.) 表单变量: ModelChoiceField -对应- ForeignKey ModelMultipleField -对应- ManyToManyField 表单继承: 填写表单:数据保存到表单是发生在实例化的时候,一旦完成实例化,表单不能改变.没绑定的表单主要生成html表单来让用户填写. Request.POST.copy()--绑定表单 验证,清理表单:不能应用到非绑定表单.用is_valid方法运行验证程序. 执行验证后,,表单对象会得到这两个新的属性,一个包含错误的字典errors,cleaned_data在表单验证通过的时候才会生成.验证失败才会errors. 显示表单:标签里面的name,id,for属性,都是取自一开始你定义的Form类里面的属性名. <lable>标签里的文本默认是:将变量名首字母大写,把下划线换成空格,变量名不是以标点符号开始,再加上一个:字符. 表单的auto_id构造函数来改变id属性和<lable>标签的行为.False表示彻底不显示id和lable.True会使用变量的属性名来替换格式化字符串.标签里结尾的:符号会被label_suffix参数重写 Widget:知道如何显示表单.
标签:
原文地址:http://www.cnblogs.com/lcpholdon/p/4975949.html