jinja2实用记录

简介: 【10月更文挑战第5天】 jinja2是ansible使用的默认配置格式,很多时候使用一些特殊的文件的处理,或者特殊的字符处理时,需要一些冷门的用法,记录以备方便翻阅。
变量赋值
{% set name="123" %}
{% with name="456" %}
{% endwith %}
for使用

使用内置常量,定义for循环范围,注意:不可使用continue和break来控制循环

loop.index 当前迭代的索引(从1开始)
loop.index0 当前迭代的索引(从0开始)
loop.first 是否是第一次迭代,返回True\/False
loop.last 是否是最后一次迭代,返回True\/False
loop.length 序列的长度
{% for i in list %}
{% if loop.first %}
{
  { arrvied }}
{% endif %}
{% endfor %}
运算符
  • +号运算符:可以完成数字相加,字符串相加,列表相加。但是并不推荐使用+运算符来操作字符串,字符串相加应该使用~运算符。
  • -号运算符:只能针对两个数字相减。
  • /号运算符:对两个数进行相除。
  • %号运算符:取余运算。
  • *号运算符:乘号运算符,并且可以对字符进行相乘。
  • **号运算符:次幂运算符,比如2**3=8。
  • in操作符:跟python中的in一样使用,比如{ {1 in [1,2,3]}}返回true
  • ~号运算符:拼接多个字符串,比如{ {"Hello" ~ "World"}}将返回HelloWorld
列表
first:取第一个元素
<p>{
  { [1,2,3,4,5,6] | first }}</p>

last:取最后一个元素
<p>{
  { [1,2,3,4,5,6] | last }}</p>

length:获取列表长度
<p>{
  { [1,2,3,4,5,6] | length }}</p>

sum:列表求和
<p>{
  { [1,2,3,4,5,6] | sum }}</p>

sort:列表排序
<p>{
  { [6,2,3,1,5,4] | sort }}</p>
TEST判断
  • callable(object) 判断变量是否对象
  • defined(value) 变量是否被定义
  • divisibleby(value, num) 检查变量是否被整除
  • lower(value) 判断变量是否是小写
  • none(value) 变量为none返回true
  • number(value) 判断变量是否为数字
  • string(value) 判断变量是否为字符串
  • upper(value) 变量是否是大写
{% if user.age is equalto(42) %}
Ha, you are 42!
{% endif %}
相关文章
|
4月前
|
前端开发 JavaScript 数据库
python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器
python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器
|
7月前
|
Python
python web框架fastapi模板渲染--Jinja2使用技巧总结
python web框架fastapi模板渲染--Jinja2使用技巧总结
345 2
|
7月前
egg.js 24.14sequelize模型-修改和限制字段
egg.js 24.14sequelize模型-修改和限制字段
51 0
egg.js 24.14sequelize模型-修改和限制字段
|
Shell 项目管理
ansible之when条件语法、处理任务失败、jinja2模板和项目管理
ansible之when条件语法、处理任务失败、jinja2模板和项目管理
135 0
|
7月前
|
前端开发 数据库 Python
【问题记录】flask开发blog
小知识点 host=0.0.0.0表示可以在所有端口上 工厂函数:不直接实例化Flask类,而是在一个函数内创建它,应用程序的配置在函数内部进行。
80 1
|
Python
【jinja2】flask和jinja2配合使用
【jinja2】flask和jinja2配合使用
140 0
Jinja2渲染模板字符串
Jinja2渲染模板字符串
67 0
|
Python
Python:Jinja2模板语法整理
Python:Jinja2模板语法整理
|
Python
Flask(8)- jinja2 模板入门(下)
Flask(8)- jinja2 模板入门(下)
171 0
Flask(8)- jinja2 模板入门(下)
|
Python
Flask(8)- jinja2 模板入门(上)
Flask(8)- jinja2 模板入门(上)
273 0
Flask(8)- jinja2 模板入门(上)