Python Flask 学习笔记(10)--条件渲染与循环渲染

川长思鸟来 2022-09-12 14:44 270阅读 0赞

点此查看全部文字教程、视频教程、源代码

本文目录

  • 1.前言
    1. 条件渲染
    1. 循环渲染
    1. 小结

1.前言

上一篇讲解了如何将变量从python程序渲染到网页。

本篇来讲下如何根据后端的数据,对网页内容进行条件渲染和循环渲染。

2. 条件渲染

条件渲染的意思是,根据后端变量的情况,来选择性的渲染一部分内容。

后端类:

  1. class User:
  2. def __init__(self, name, sex):
  3. self.name = name
  4. self.sex = sex

后端返回数据:

  1. @app.route('/user')
  2. def user():
  3. myUser = User("张三", "male")
  4. return render_template('user.html', myUser=myUser)

前端根据性别值,条件渲染,当返回数据的sex为male时,则渲染if包裹的部分,否则渲染else包裹的部分。

  1. <p>
  2. {% if myUser.sex=='male' %}
  3. {% else %}
  4. {% endif %}
  5. </p>

3. 循环渲染

循环渲染的意思,是渲染一组元素,将每个元素循环展开。

后端返回列表:

  1. @app.route('/user')
  2. def user():
  3. myUser = User("张三", "male")
  4. otherUser = User("李四", "female")
  5. userList = [myUser, otherUser]
  6. return render_template('user.html', myUser=myUser, userList=userList)

前端循环显示:

  1. <ul>
  2. {% for user in userList %}
  3. <li>名字:{
  4. {user.name}}--性别:{
  5. {user.sex}}</li>
  6. {% endfor %}
  7. </ul>

所以效果如下:
在这里插入图片描述

4. 小结

条件渲染和循环渲染,其实还是python模板引擎,根据前端{%%}的模板语法,将一些变量的值渲染到指定位置的方式。

因为是在后端对模板内容进行处理,所以可以做的非常灵活,Flask的实现足够简单优雅,我喜欢。

发表评论

表情:
评论列表 (有 0 条评论,270人围观)

还没有评论,来说两句吧...

相关阅读