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

原文地址:https://www.cnblogs.com/kaibindirver/p/12869496.html