if语法:
{% if xxx %}
{% else %}
{% endif %}
代码示例:
from flask import Flask,render_template
app = Flask(__name__)
@app.route('/<is_login>/')
def hello_world(is_login):
if is_login == '1':
user = {
'username':u'ww',
'age':20
}
return render_template('index.html', user=user)
else:
return render_template('index.html')
if __name__ == '__main__':
app.run(debug=True)
index.html内容:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{% if user and user.age > 18 %}
<a href="#">{{ user.username }}</a>
<a href="#">{{ user.age }}</a>
<a href="#">注销</a>
{% else %}
<a href="#">登陆</a>
<a href="#">注册</a>
{% endif %}
</body>
</html>
for语法:
字典遍历和列表遍历
代码示例:
from flask import Flask,render_template
app = Flask(__name__)
@app.route('/')
def hello_world():
user = {
'username': u'ww',
'age': 18
}
websites = ['baidu.com','google.com']
return render_template('index.html', user=user, websites=websites)
if __name__ == '__main__':
app.run(debug=True)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{% for k,v in user.items() %}
<p>{{ k }}:{{ v }}</p>
{% endfor %}
{% for websites in websites %}
<p>{{ websites }}</p>
{% endfor %}
</body>
</html>
实例:
from flask import Flask,render_template
app = Flask(__name__)
@app.route('/')
def index():
books = [
{
'name':u'西游记',
'auther':u'吴承恩',
'price':100
},
{
'name': u'红楼梦',
'auther': u'曹雪芹',
'price': 120
},
{
'name': u'水浒传',
'auther': u'施耐庵',
'price': 130
},
{
'name': u'三国',
'auther': u'罗贯中',
'price': 150
}
]
return render_template('index.html',books=books)
if __name__ == '__main__':
app.run(debug=True)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<table>
<thead>
<th>书名</th>
<th>作者</th>
<th>价格</th>
</thead>
<tbody>
{% for book in books %}
<tr>
<td>{{ book.name }}</td>
<td>{{ book.auther }}</td>
<td>{{ book.price }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</body>
</html>