django模板使用心得
2014-11-13 14:53
281 查看
一、变量
1.变量的形式是:{{variable}}, 当模板引擎碰到变量的时候,引擎使用变量的值代替变量。
2.使用dot(.)能够访问变量的属性
3.当模板引擎碰到dot的时候,查找的顺序是什么样子呢?
a.字典查找,例如:foo["var1"]
b.属性查找,例如:foo.bar
c.方法查找,例如:foo.bar()
d.list-index查找,例如foo[bar]
4.如果模板中使用的某个变量不存在,那么模板系统将使用setting.py中 变量TEMPLATE_STRING_IF_INVALID的值进行替代,在默认情况下,该变量的值是''。
二、过滤器
1.可以通过过滤器来修改变量的显示,过滤器的形式是:{{ variable | filter}},管道符号'|'代表使用过滤器
2.过滤器能够采用链式的方式使用,例如:{{ text | escape | linebreaks }}
3.过滤器还可以带参数,例如: {{ bio|truncatewords:30}}
4.过滤器的参数中如果带有空格,那么需要用引号引起来,例如:{{ list | join : ", "}}
5.django中30个内建的过滤器
(1)add
使用形式为:{{ value | add: "2"}}
意义:将value的值增加2
(2)addslashes
使用形式为:{{ value | addslashes }}
意义:在value中的引号前增加反斜线
(3)capfirst
使用形式为:{{ value | capfirst }}
意义:value的第一个字符转化成大写形式
(4)cut
使用形式为:{{ value | cut:arg}}, 例如,如果value是“String with spaces” arg是""那么输出是"Stringwithspaces"
意义:从给定value中删除所有arg的值
(5)date
使用形式为::
(a) {{ value | date:"D d M Y"}},例如,如果value是一个datetime对象(datetime.datetime.now())那么输出将是字符串"Wed 09Jan 2008"
(b) {{ value | date}},这种形式没有格式化字符串,这时候,格式化字符串会自动采用DATE_FORMAT所设置的形式。
意义:将日期格式数据按照给定的格式输出
(6)default
1.变量的形式是:{{variable}}, 当模板引擎碰到变量的时候,引擎使用变量的值代替变量。
2.使用dot(.)能够访问变量的属性
3.当模板引擎碰到dot的时候,查找的顺序是什么样子呢?
a.字典查找,例如:foo["var1"]
b.属性查找,例如:foo.bar
c.方法查找,例如:foo.bar()
d.list-index查找,例如foo[bar]
注意:方法查找比一般的查找要复杂一些 (1)如果调用方法期间,方法抛出一个异常,那么异常将会产生,除非异常对象带有一个属性silent_variable_failure, 如果这个值是True,那么将会返回一个空字串。 (2)方法调用仅仅对那些没有参数的方法才会生效 (3)一些方法会产生副作用,所以系统允许方法设置一个属性alters_data,如果值为True,那么将不能够调用 其设置方法是: def sensitive_function(self): #函数内容 sensitive_function.alters_data = True
4.如果模板中使用的某个变量不存在,那么模板系统将使用setting.py中 变量TEMPLATE_STRING_IF_INVALID的值进行替代,在默认情况下,该变量的值是''。
二、过滤器
1.可以通过过滤器来修改变量的显示,过滤器的形式是:{{ variable | filter}},管道符号'|'代表使用过滤器
2.过滤器能够采用链式的方式使用,例如:{{ text | escape | linebreaks }}
3.过滤器还可以带参数,例如: {{ bio|truncatewords:30}}
4.过滤器的参数中如果带有空格,那么需要用引号引起来,例如:{{ list | join : ", "}}
5.django中30个内建的过滤器
(1)add
使用形式为:{{ value | add: "2"}}
意义:将value的值增加2
(2)addslashes
使用形式为:{{ value | addslashes }}
意义:在value中的引号前增加反斜线
(3)capfirst
使用形式为:{{ value | capfirst }}
意义:value的第一个字符转化成大写形式
(4)cut
使用形式为:{{ value | cut:arg}}, 例如,如果value是“String with spaces” arg是""那么输出是"Stringwithspaces"
意义:从给定value中删除所有arg的值
(5)date
使用形式为::
(a) {{ value | date:"D d M Y"}},例如,如果value是一个datetime对象(datetime.datetime.now())那么输出将是字符串"Wed 09Jan 2008"
(b) {{ value | date}},这种形式没有格式化字符串,这时候,格式化字符串会自动采用DATE_FORMAT所设置的形式。
意义:将日期格式数据按照给定的格式输出
(6)default
相关文章推荐
- django模板使用心得
- django模板使用心得
- django模板中关于过滤器的使用
- django模板中直接使用session
- django使用模板template时可能遇到的错误
- django在控制台模板使用报错
- Django使用心得(三)
- [Dynamic Language] Python Django: 模板引擎(4)在视图中使用模板和模板继承
- Django 模板中使用css, javascript
- 关于myeclipse WEB项目使用javabean方式整合jasperReport,Ireport设计模板,Linux错误处理,几天的研究心得
- jQuery 模板 jTemplates 使用心得
- 如何在django中使用mako模板系统
- DM模板使用心得
- 在django模板中使用session数据
- django实战1-使用视图和模板显示多行
- Django form模块使用心得
- Django模板中使用css, javascript
- python下的web开发框架-Django,django模板的使用
- django模板中使用静态文件的方法
- Django form模块使用心得