概要
Jinja2 是一个现代的,设计者友好的,仿照 Django 模板的 Python 模板语言。 它速度快,被广泛使用,并且提供了可选的沙箱模板执行环境保证安全
特性
- 沙箱中执行
- 强大的 HTML 自动转义系统保护系统免受 XSS
- 模板继承
- 及时编译最优的 python 代码
- 可选提前编译模板的时间
- 易于调试。异常的行数直接指向模板中的对应行。
- 可配置的语法
遇到的问题及解决方法
想把变量分隔符{{}}作为普通字符串输出的方法
方法1:在变量分隔符中( {{ )使用变量表达式输出 {{ '{{' }}
from jinja2 import Template
source = "{{name}} {{ '{{' }}name{{ '}}' }}"
template = Template(source)
print (template.render(name='atp'))
output -> atp {{name}}
方法2:使用raw语句
from jinja2 import Template
source = "{{name}} {% raw %}{{name}}{% endraw %}"
template = Template(source)
print (template.render(name='atp'))
output -> atp {{name}}
网友评论