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. 循环渲染

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


后端返回列表:


@app.route('/user')

def user():

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

   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的实现足够简单优雅,我喜欢。

上一篇:冒泡,setinterval,背景图的div绑定事件,匿名函数问题--工作中的思考


下一篇:用python实现的又一个Console下的进度条