官网 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() }}