jinja2 web模板

jinjia2, 基本python的模板引擎

模板设计文档: http://docs.jinkan.org/docs/jinja2/templates.html


摘要:

1. 模板文件是文本文件,可被转化为html, xml,csv等格式的文件

2. 两种分隔符: {% ... %} 和 {{ ... }},前者用于执行诸如 for 循环 或赋值的语句,后者把表达式的结果打印到模板上。

3. 默认使用 {# ... #} 注释

4. 转义 

       a.在变量分隔符中( {{ )使用变量表达式输出:{{'{{'}}

   b.对于较大的段落,标记一个块为 raw :

{% raw %}
    
    {% for item in seq %}
  • {{ item }}
  • {% endfor %}
{% endraw %}

5. 继承  {% extend %} 标签, 它告诉模板引擎这个模板“继承”另一个模板。

6. 块 

不能在同一个模板中定义多个同名的 {% block %} 标签。

调用 super 来渲染父级块的内容

使用特殊的 self 变量并调用与块同名 的函数, 来打印块

     块结束标签 endblock后面的名称一定与块名匹配

7. 作用域

默认的块不允许访问块外作用域中的变量, 使用scoped

{% for item in seq %}
    
  • {% block loop_item %}{{ item }}{% endblock %}
  • {% endfor %}

    {% for item in seq %}
        
  • {% block loop_item scoped %}{{ item }}{% endblock %}
  • {% endfor %}

         8. ...

    你可能感兴趣的:(Python,前端)