一、jinja2 for循环
在jinja2中的for循环,跟python中的for循环基本上是一模一样的。也是for…in…的形式。并且也可以遍历所有的序列以及迭代器。但是唯一不同的是,jinja2中的for循环没有break和continue语句。
但是在Jinja2模板中,没有continue和break语句,所以我们不能使用他们来控制我们的循环。但是Jinja2模板给我们提供了for循环中的其他一些变量。
| 变量 | 作用 |
|---|---|
| loop.index0 | 当前迭代对象的索引,从0开始 |
| loop.index | 当前迭代对象的索引,从1开始 |
| loop.revindex | 当前循环的反向索引,比如序列的长度为5,那么第一次循环这个值就为5,接下来每次减一 |
| lopp.revindex0 | 当前循环的反向索引,从0开始,所以第一次的值为loop.length-1 |
| loop.first | 是否为第一次迭代,反回True或False |
| loop.last | 是否为最后一次迭代,返回True或False |
| loop.length | 序列的长度 |
| loop.previtem | 当前循环值得上一个值,如果为序列中的第一个值,那么上一个值就为空 |
| loop.nextitem | 当前循环值得下一个值,如果为序列中的最后一个值,那么下一个值就为空 |
| loop.cycle() | 辅助循环,看下面的例子 |
for循环基本语法如下:
{
% for 迭代变量 in 可迭代对象 % }
{
{
迭代变量 }}
{
% endfor % }
案例一:为远程主机生成服务器列表,该列表从192.168.37.201 web01.magedu开始,到192.168.37.211 web11.magedu结束。在该案例中,手工一条条添加10条记录明显不是我们期望的结果,这里需要用For循环通过模板批量生成对应的配置文件。我们具体看下对应的Jinja2文件该如何编写。
{
% for id in range(201,211) %}
192.168.37.{
{

本文介绍了Jinja2模板中的for循环用法,包括循环变量、特殊属性以及如何在循环中生成序列。同时讲解了if条件的基本语法,并通过实例展示了条件判断在模板中的应用。此外,还提到了Jinja2中与Python字符串格式化相关的知识。
最低0.47元/天 解锁文章
6136

被折叠的 条评论
为什么被折叠?



