五、Jinja2模板

1.在模板中获取view传递的变量值:{{变量名}}

1.1传递字符串

 

 

 1.2传递int

 1.3传递list

<p>

    [获取list的值]

    <br>

    列表第一个值{{ users.0 }}

    <br>

    列表第二个值{{ users[1] }}

{# 注释 #}

</p>

<ul>

    {% for user in users %}

        <li> {{ user }} </li>

    {% endfor %}

</ul>

 

 

 1.4传递dict

 

 

 1.5传递对象

 

 

 

2.控制块

2.1if控制块

 {% if  条件 %}

     条件为True

 {% else %}

     条件为False

 {% endif %}

2.2 for控制块

{% for 变量 in 可迭代的对象 %}

    for循环要做的任务

 {% endfor %}

 

{% for user in users %}

        {% if user | length ==3 %}

            <li>------------{{ user }}</li>

        {% else %}

            <li>{{ user }}</li>

        {% endif %}

{% endfor %}

 

2.3 loop变量

loop.index  序号从1开始

loop.index0  序号从0开始

loop.revindex  reverse  序号是倒着的

loop.revindex0

loop.first 布尔类型   是否是第一行

loop.last 布尔类型   是否是最后一行

 

3.过滤器 

过滤器的本质就是函数

模板语法中过滤器:{{ 变量名 | 过滤器(*args) }}

常见的过滤器:

1safe : 禁用转译

msg = '<h1>今天很开心!</h1>'

return render_template('show.html', msg=msg)

不想让其转译:

{{ msg | safe }}

2capitalize:单词的首字母大写

{{ n1 | capitalize }}

3lower和upper

大小写的转换

4title 一句话中每个单词的首字母大写

 msg = 'what can i do for you'

 {{ msg | title}}

5reverse  翻转

{{ n1 | reverse}}

6format

{{ '%s is %d years old' | format(COCO',18) }}

7) truncate 字符串截断

List的操作

{{ users| first }}

{{ users| last }}

{{ users| length }}

{{ [1,3,5,7,9] | sum }}

{{ [1,8,5,7,3] | sort }}

Dict的操作:

{% for v in users.0.values() %}   ---->获取值

    <p>{{ v }}</p>

{% endfor %}

<hr>

{% for k in users.0.keys() %}   ----》获取键

    <p>{{ k }}</p>

{% endfor %}

<hr>

{% for k,v in users.0.items() %}  ---》获取键值

    <p>{{ k }}---{{ v }}</p>

{% endfor %}

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值