您当前的位置: 首页 >  flask

IT之一小佬

暂无认证

  • 3浏览

    0关注

    1192博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Flask框架中Jinja2模板控制语句

IT之一小佬 发布时间:2022-08-14 00:40:08 ,浏览量:3

        Jinja2模板中所有控制语句都放在{% ... %}中,并且以{% endxxx %}来进行结束,Jinja中常用的控制语句有if/for..in..。

控制语句:if

if:if语句和python中的类似,可以使用>, 25 %} 您已经超过25岁了! {% elif age < 25 %} 您的年龄小于25岁! {% else %} 您的年龄今年25岁了! {% endif %}

运行结果:

控制语句:for...in...

for...in...:for循环可以遍历任何一个序列包括列表、字典、元组。并且可以进行反向遍历。

列表遍历:

main.py

from flask import Flask, render_template

app = Flask(__name__)


@app.route('/')
def index():
    name_list = ['张三', '李四', '王五']

    return render_template('index.html', name_list=name_list)


if __name__ == '__main__':
    app.run()

index.html




    
    首页


欢迎来到首页!
    {% for name in name_list %}
  • {{ name }}
  • {% endfor %}

运行结果:

字典遍历:

main.py

from flask import Flask, render_template

app = Flask(__name__)


@app.route('/')
def index():
    name_dict = {
        'name1': '张三',
        'name2': '李四',
        'name3': '王五'
    }

    return render_template('index.html', name_dict=name_dict)


if __name__ == '__main__':
    app.run()

index.html




    
    首页


欢迎来到首页!
    {% for key, value in name_dict.items() %}
  • {{ key }}:{{ value }}
  • {% endfor %}

运行结果:

序列中没有值时进入else中:

main.py

from flask import Flask, render_template

app = Flask(__name__)


@app.route('/')
def index():
    name_dict = {
    }

    return render_template('index.html', name_dict=name_dict)


if __name__ == '__main__':
    app.run()

index.html




    
    首页


欢迎来到首页!
    {% for key, value in name_dict.items() %}
  • {{ key }}:{{ value }}
  • {% else %}
  • Not found!
  • {% endfor %}

运行结果:

补充

        Jinja中的for循环还包含以下变量,可以用来获取当前的遍历状态:

变量描述loop.index当前迭代的索引(从1开始)loop.index0当前迭代的索引(从0开始)loop.first是否是第一次迭代,返回True或Falseloop.last是否是最后一次迭代,返回True或Falseloop.length序列的长度

注意:不可以使用continue和break表达式来控制循环的执行。

关注
打赏
1665675218
查看更多评论

最近更新

热门博客

立即登录/注册

微信扫码登录

0.0611s