if和for控制语句可以控制渲染的方向。if控制语句一般是由{% if %}、{% elif %}、{% else %}和{% endif %}组成的。
例如
{{num}} #这里是变量
{% if num == 1 %}
<p>变量等于1</p>
{% elif num == 2 %}
<p>变量等于2</p>
{% else %}
<p>变量不存在</p>
{% endif %}
for控制语句是循环渲染,由{% for 目标 in %}、{% 目标 %}和{% endfor %}
{% for 目标 in %}
<p>目标<p>
{% endfor %}
例如:
index.html代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<table><!-- 定义表格-->
<thead>
<th>商品名称</th>
<th>商品价格</th>
</thead>
<tbody>
<meta charset="UTF-8">
{% for toys in toys %}<!-- for循环开始-->
<tr>
<td>{{ toys.name}}</td><!-- 显示商品名-->
<td>{{ toys.price}}</td><!-- 显示价格-->
</tr> {% endfor %}<!-- for循环结束-->
</tbody>
</table>
</body>
</html>
</body>
</html>
app.py代码
# encoding:utf-8
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
toys = [{'name': '宝宝巴士','price':250},
{'name':'奥特曼','price':1},
{'name': '孙悟空','price':999}]
return render_template('1-2.html',**locals())
if __name__ == '__main__':
app.run()
运行结果:
注意:别忘记{% endfor %} 和{% endif %};变量在{{}}里面,控制语句在{}里面,别记混了。