模板网站定制网站,广州海珠区发布,建设手机行网站,传播易网站开发方案Jinja的基础知识
介绍#xff1a;Jinja2 是一个现代的#xff0c;设计者友好的#xff0c;仿照 Django 模板的 Python 模板语言。 它速度快#xff0c;被广泛使用#xff0c;并且提供了可选的沙箱模板执行环境保证安全
基本操作
变量#xff1a;使用{{}}包围 aJinja2 是一个现代的设计者友好的仿照 Django 模板的 Python 模板语言。 它速度快被广泛使用并且提供了可选的沙箱模板执行环境保证安全
基本操作
变量使用{{}}包围 a{{user.username}}/a注释注释代码块使用 {# Documents #} 来表示控制语句使用{{% 控制流程 %}}来编写控制代码块 {% if a %}phello a/p
{% else %}phello b/p
{% endif %}循环 在 Jinja 中需要同时使用循环语句和 if 语句来模拟 continue 语句的功能。可以使用 Jinja 提供的 loop 变量来模型 Python 中的 enumerate() 内置函数的功能。 loop 变量可以返回一些关于 for 循环的信息如 索引号。
# example1{% for post in posts if post.text %}divh1{{ post.title }}/h1p{{ post.text | safe }}/p/div
{% endfor %}# example2{% for post in posts %}{{ loop.index }}-{{ post.title }}
{% endfor %}过滤器用于处理变量代码块中的变量。过滤器与变量用管道符号 | 分割并且也 可以用圆括号传递可选参数。多个过滤器可以链式调用前一个过滤器的输出会被作为 后一个过滤器的输入。 常用过滤器http://blog.csdn.net/jmilk/article/details/53292248
# 有参数{{ variable | filter_name }}# 或无参数{{ variables | filter_name(*args) }}
宏类似于函数会返回一个 Jinja 模板或 HTML 字符串。其最主要的功能就是提高代码的重用性。如 {% macro input(name, label, value, typetext)%}div classform-grouplabel for{{ name }}{{ label }}/divinput type{{ type }} name{{ name }}value{{ value | escape }} classform-control/div
{% endmacro %} input()是宏的名字类似于函数名(name, label, value, typetext)是宏的参数类似于函数的必备参数和缺省参数调用 {{ input(name, Name) }} 结果 div classform-grouplabel fornameName/divinput typetext namenamevalue classform-control/div
文章参考自
http://blog.csdn.net/jmilk/article/details/53264049
http://docs.jinkan.org/docs/jinja2/templates.html#id7