janja2 基础语法
官网 http://docs.jinkan.org/docs/jinja2/
访问传入模版的data
------------------一:设置备注
{#我是备注#}
-----------------------赋值变量
{% set messages = StudentList %}
{{messages}}
---------------------------------------------------变量 获取变量是 {{ }}格式
如传入 data={age:18}
------------------二:访问字典的方法
{{data.age}}
{{data.["age"]}}
如传入 data=[1,8]
------------------三:访问数组的方法
{{ data[0] }}
如传入Test() 一个类 (对象)
-------------------四:访问对象里面的 类变量 、函数
{{ Test.uuu }}
{{ Test().rrr() }}
视图函数怎么传 可以参考: https://www.cnblogs.com/kaibindirver/p/12868407.html
------------------------------------------------------------------流程语句 执行语句是 {% %} 格式
--------------------------------一、if语句 #注意要有闭合语法(模版语言需要)
如
{% if data.age ==18 %} # 注意,在if里里面 使用到变量不用花括号,直接data.age就可以了
{{data.age}} # 在里面则需要花括号引用变量
<ul></ul> #还可以控制html #这里输出会自动带空行 {%- for i in [1,2,3] -%} {{i}} {%- endfor -%} 加上- 可以避免 每个%后面加- 和不加组合 输出效果有区别
{% elif data.age ==19 %}
{{data.age}}
{% else %}
{{data.age}}
{% endif %}
--------------------------------二、for in语句 #注意要有闭合语法(模版语言需要)
历遍数组
{% for i in [1,2,3] %}
{{ i }} #注意输出变量要用花括号
{% endfor %}
历遍字典
只获取键变量输出
{% for i in { “age” : 1 } %}
{{ i }} #注意输出变量要用花括号,输出age
{% endfor %}
获取键和值变量输出
{% for key,value in { “age” : 1 }.items() %}
{{ key }}
{{ value}}
{% endfor %}
--------------------------------------过滤器,官网里面有说
一、default()
判断调用的变量是否存在,不存在返回自定义字符
{{ data.school | default("变量不存在") }} #注意要英文的 |
前面条件是否成立,成立返回True or False 回来
{{ data.school==None | default("变量不存在") }}
二、length()
获取变量的长度
{{ data | length() }}
if语句
{% if msg.results.onlineBugList %}
有bug
{% else %}
没有在线Bug。
{% endif %}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架