天天看点

Python Flask 简明教程(10)--模板之条件渲染与循环渲染

1.前言

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

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

2. 条件渲染

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

后端类:

class User:

   def __init__(self, name, sex):

       self.name = name

       self.sex = sex

后端返回数据:

@app.route('/user')

def user():

   myUser = User("张三", "male")

   return render_template('user.html', myUser=myUser)

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

   <p>

       {% if myUser.sex=='male' %}

       男

       {% else %}

       女

       {% endif %}

   </p>

3. 循环渲染

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

后端返回列表:

   otherUser = User("李四", "female")

   userList = [myUser, otherUser]

   return render_template('user.html', myUser=myUser, userList=userList)

前端循环显示:

 <ul>

           {% for user in userList %}

           <li>名字:{{user.name}}--性别:{{user.sex}}</li>

           {% endfor %}

       </ul>

所以效果如下:

4. 小结

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

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