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