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')

肆、缩进!!!

这个缩进真的是折磨死人了

参考来源:

jinja2模块使用教程

posted @ 2022-07-06 10:48  二越  阅读(474)  评论(0编辑  收藏  举报