jinja2实用记录

简介: 【10月更文挑战第5天】 jinja2是ansible使用的默认配置格式,很多时候使用一些特殊的文件的处理,或者特殊的字符处理时,需要一些冷门的用法,记录以备方便翻阅。
变量赋值
{% set name="123" %}
{% with name="456" %}
{% endwith %}
AI 代码解读
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 %}
AI 代码解读
运算符
  • +号运算符:可以完成数字相加,字符串相加,列表相加。但是并不推荐使用+运算符来操作字符串,字符串相加应该使用~运算符。
  • -号运算符:只能针对两个数字相减。
  • /号运算符:对两个数进行相除。
  • %号运算符:取余运算。
  • *号运算符:乘号运算符,并且可以对字符进行相乘。
  • **号运算符:次幂运算符,比如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>
AI 代码解读
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 %}
AI 代码解读
目录
打赏
0
3
3
0
89
分享
相关文章
Python Django项目下的分页和筛选查询
在Django中实现分页功能,视图函数通过`Paginator`处理数据,每页显示10条记录。URL配置支持带参数和不带参数的分页请求。前端模板使用for循环展示分页数据,包括商品信息和状态按钮,并利用分页组件导航。筛选查询视图根据GET请求的`state`参数过滤上架或下架产品,同样实现分页功能。前端添加状态选择下拉框,分页链接携带查询参数`state`确保筛选状态在翻页时保持。
python遍历目录文件_结合vue获取所有的html文件并且展示
python遍历目录文件_结合vue获取所有的html文件并且展示
46 0
|
9月前
egg.js 24.14sequelize模型-修改和限制字段
egg.js 24.14sequelize模型-修改和限制字段
58 0
egg.js 24.14sequelize模型-修改和限制字段
vue3 setup语法糖 多条件搜索(带时间范围)
vue3 setup语法糖 多条件搜索(带时间范围)
248 0
【jinja2】flask和jinja2配合使用
【jinja2】flask和jinja2配合使用
173 0
django -- 模版语言之过滤器Filters和for循环
django -- 模版语言之过滤器Filters和for循环
:Django “TemplateDoesNotExist at /index/“解决/Django加载HTML出错
:Django “TemplateDoesNotExist at /index/“解决/Django加载HTML出错
237 0
使用Python3.7+Django2.0.4配合vue.js2.0的组件递归来实现无限级分类(递归层级结构)
所谓的无限极分类是啥?其实简单点说就是一个人类可以繁衍出多个后代,然后一个后代又可以分另外多个后代这样无限繁衍下去(可以想象[神奇动物在哪里2](https://movie.douban.com/subject/26147417/)里面莱斯特兰奇的家族族谱),就好象linux系统你可以新建一个文件夹,然后在这个文件夹里又可以建一些个文件夹,在文件夹底下还可以建一些文件夹一样,随后使用tree命令就可以查看文件夹目录层级。
使用Python3.7+Django2.0.4配合vue.js2.0的组件递归来实现无限级分类(递归层级结构)
python模块与类库(创建、导入与使用逻辑,子模块,if __name__ ==‘main‘: 语句, __name__,__dict__,__doc__,__file__等)
python模块与类库(创建、导入与使用逻辑,子模块,if __name__ ==‘main‘: 语句, __name__,__dict__,__doc__,__file__等)
270 0
python模块与类库(创建、导入与使用逻辑,子模块,if __name__ ==‘main‘: 语句, __name__,__dict__,__doc__,__file__等)

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等