您的位置:首页 > 编程语言 > Go语言

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]
注意:方法查找比一般的查找要复杂一些

(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

       
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: