django_template 知识点总结
模板有三个知识点
变量
标签
过滤器
变量
- 变量的形式是:, 当模板引擎碰到变量的时候,引擎使用变量的值代替变量。
- 使用dot(.)能够访问变量的属性
当模板引擎碰到dot的时候,查找的顺序是什么样子呢?
- 字典查找,例如:foo[“var1”]
- 属性查找,例如:foo.bar
- 方法查找,例如:foo.bar()
- list-index查找,例如:foo[bar]
注意:方法查找比一般的查找要复杂一些
(1)如果调用方法期间,方法抛出一个异常,那么异常将会产生,除非异常对象带有一个属性silent_variable_failure,
如果这个值是True,那么将会返回一个空字串。
(2)方法调用仅仅对那些没有参数的方法才会生效
(3)一些方法会产生副作用,所以系统允许方法设置一个属性alters_data,如果值为True,那么将不能够调用
其设置方法是:
1 | def sensitive_function(self): |
- 如果模板中使用的某个变量不存在,那么模板系统将使用setting.py中 变量TEMPLATE_STRING_IF_INVALID的值进行替代,在默认情况下,该变量的值是’’。