上一篇讲解了如何将变量从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 %}
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
所以效果如下
条件渲染和循环渲染 其实还是python模板引擎 根据前端{%%}的模板语法 将一些变量的值渲染到指定位置的方式。
因为是在后端对模板内容进行处理 所以可以做的非常灵活 Flask的实现足够简单优雅 我喜欢。



