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 %}
相关文章
|
5月前
|
API
FFmpeg中AVPacket、AVFrame结构的基本使用
FFmpeg中AVPacket和AVFrame结构的内存分配、释放和引用计数处理,以及如何避免内存泄漏。
115 3
|
5月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
531 3
|
机器学习/深度学习 SQL 存储
基于Flink的机器学习平台Alink
PAI平台参加“周二开源日”活动,本期分享核心内容摘要: 一、Alink是什么; 二、Alink如何使用; 三、Alink进阶。
2055 0
基于Flink的机器学习平台Alink
|
存储 人工智能 小程序
10分钟开发一款"一键二次元化"AI小程序
本场景基于云开发平台10分钟完成一个完整的AI小程序的开发,无需购买服务器进行小程序的开发和创新。通过AI小程序的开发实战,让大家可以快速利用现成的AI智能视觉和云开发的能力提高开发效率,在低代码的情况下也可以开发出有意思、可传播的应用。
1966 0
10分钟开发一款"一键二次元化"AI小程序
|
存储 弹性计算 运维
有哪些因素会影响云服务器访问速度?
对一个网站来说,网站的访问速度十分重要,是网站友好体验中最基本的一项,云服务器的速度是可以反映出设备的质量问题的,如果想要有更快的网站访问速度。那么,就需要了解影响云主机访问速度的一些因素。
640 0
kibana6.x版本汉化
kibana6.x版本汉化 文章目录 kibana6.x版本汉化 1.kibana汉化前 2.汉化kibana 2.1.下载汉化包 2.2.开始汉化 2.3.重启kibana 3.汉化以后的样子
558 0
kibana6.x版本汉化
|
弹性计算 Linux 对象存储
如何导入本地镜像到阿里云ECS服务器
镜像导入的使用场景在操作之前,我们来介绍一下镜像导入的使用场景。一种情况是,我们需要把线下环境整体搬到云上,这种情况可能有以下特征。1.线下预部署好的服务器2.需要在线下进行测试和调试的服务3.应用需要在线下激活且允许移动的服务4.线下老旧的物理服务器需要上云5.另一种情况是,阿里云当前没有可用的操作系统类型供选择。
|
监控 安全 NoSQL

热门文章

最新文章