标签:Environment PackageLoader FileSystemLoader 学习 jinja2 使用 模板 加载
壹、jinja2是什么
编辑一个模板文件,可以用来自动生成HTML、cpp、py等代码
贰、jinja2安装
pip install jinja2
叁、jinja2使用
1. 语法,共三种
{% 这是控制代码 %}
{{ 这是变量 }}
{# 这是注释 #}
2. 过滤器
过滤器 | 说明 |
---|---|
safe | 渲染时不转义 |
capitalize | 串的首字母大写 |
lower | 转换成小写 |
upper | 转换成大写 |
title | 串中每个单词的首字母大写 |
trim | 删除首尾空格 |
striptags | 删除所有HTML标签 |
join | 拼接多个词 |
replace | 替换字符串的值 |
round | 四舍五入 |
int | 串转为整型 |
3. 控制语句,需要end来结束一个控制语句
(1)分支语句
{% if a %}
aaa
{% elif b %}
bbb
{% endif %}
(2)循环
{% for idx in arr %}
idx
{% endfor %}
(3)宏
{% macro input(a=a1,b=b1) %}
a = {{a1}}, b = {{b1}}
{% endmacro %}
4. 模板继承
5. jinja2渲染
(1)Environment对象:用来加载模板,支持两种加载方式:
PackageLoader:包加载器
FileSystemLoader:文件系统加载器
(2)举例:
from jinja2 import PackageLoader, FileSystemLoader, Environment
{# 1. PackageLoader #}
env1 = Environment(loader = PackageLoader('python_project','templates'))
tmpl1 = env1.get_template('tmpl.html')
tmpl1.render(name = 'Li', sex = 'F')
{# 2. FileSystemLoader #}
env2 = Enviornment(loader = FileSystemLoader('dir'))
tmpl2 = env2.get_template('tmpl.html')
tmpl2.render(name = 'Li', sex = 'F')
参考来源:
标签:Environment,PackageLoader,FileSystemLoader,学习,jinja2,使用,模板,加载 来源: https://www.cnblogs.com/doubleyue/p/16449898.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。