Jinja 简单使用

朋友安利的一个包,简单试一试

官网地址:Jinja

小栗子

最简单的使用,是使用Template,就和String中的Template差不多,但是强大很多

from jinja2 import Template

template = Template('Hello {{ name }}!')
template.render(name='John Doe')

这样子,就可以了

官方推荐的使用方法不是直接初始化Template,而是提前定义好模板
使用Environment来统一加载所有的模板,按需获取使用

from jinja2 import Environment, FileSystemLoader

env = Environment(loader=FileSystemLoader('templates'))
template = env.get_template('hi.txt')
template.render(name='苹果')

这里使用FileSystemLoader加载了一个当前的模板目录,当前目录下的所有的文件应该都会作为模板被加载

然后,我们可以使用get_template来根据名字加载模板

最后使用得方法,都是一样的了。

哦,我们的模板是这样的:


下面,我们需要看看JinJa强大在什么地方

这里的模板后缀名是没什么关系的,所以不要在意我这里的txt

for 循环

JinJa,我感觉很类似Java里的那个JSP,就是可以在模板中写一些代码,JinJa中可以写Python

比如循环语句就是可以的

控制结构指的是所有的那些可以控制程序流的东西 —— 条件(比如 if/elif/ekse )、 for 循环、以及宏和块之类的东西。控制结构在默认语法中以 {% .. %} 块的形式 出现。

模板:

For demo

{% for i in users %}
Hi, {{i}}
{% endfor %}

模板的注意事项:
{% ... %},用来使用类似for循环的这种语句
这里是有开始和结束的,中间的代码块儿是会重复输出的

这里我们再for循环中,遍历了users变量,所以,我们将一个可以被遍历的变量进去就行了,我们循环的内容是输出变量i的值

rs = template.render(users=list(range(10)))
print(rs)

详细的内容,可以参考官方文档:模板设计者文档

你可能感兴趣的:(Jinja 简单使用)