python-Flask(jinja2)语法(判断与循环)
逻辑与循环
[TOC]
if 语句
语法:
{% if xxx %}
{% else %}
{% endif %}
例子:
index - 锐客网
{% if user and user.age > 18 %}
{{ user.username }}
注销
{% else %}
登录
注册
{% endif %}
@app.route('//')
def index(is_login):
if is_login:
user = {
'username' : u'站长',
'age' : 22
}
return render_template('index.html', user= user)
# 已经注册则传进去参数
else:
return render_template('index.html')
# 没有注册则直接渲染
for循环遍历
字典遍历:语法和python一样,可以使用
items()
、keys()
、values()
、iteritems()
、iterkeys()
、itervalues()
{% for k,v in user.items() %}{{ k }}:{{ v }}
{% endfor %}
# for遍历字典
@app.route('/')
def index():
# 定义一个字典
user = {
'username' : u'站长',
'age' : 22
}
return render_template('index.html',user=user)
列表遍历:,语法与python一样
{% for website in websites %}{{ website }}
{% endfor %}
# for遍历列表
@app.route('/')
def index():
websites = ['www.baidu.com','www.google.com']
return render_template('index.html',websites=websites)
例子:
index - 锐客网 【python-Flask(jinja2)语法(判断与循环)】综合运用列表和字典的模板文件
书名
作者
价格
{% for book in books %}
{{ book.name }}
{{ book.author }}
{{ book.price }}
{% endfor %}
#encoding: utf-8
from flask import Flask,render_templateapp = Flask(__name__)@app.route('/')
def index():
books = [
{
'name' : u'西游记',
'author' : u'吴承恩',
'price' : 88
},
{
'name': u'三国演义',
'author': u'罗贯中',
'price': 98
},
{
'name': u'红楼梦',
'author': u'曹雪芹',
'price': 89
},
{
'name': u'水浒传',
'author': u'施耐庵',
'price': 101
}
]return render_template('index.html', books=books)if __name__ == '__main__':
app.run(debug=True)
推荐阅读
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 六步搭建ES6语法环境
- SpringBoot中YAML语法及几个注意点说明
- 前端|web前端dya07--ES6高级语法的转化&render&vue与webpack&export
- MySQL|MySQL 存储过程语法及实例
- WebSocket|WebSocket 语法解析
- 灵感迸发
- Objective-c
- 深入浅出JavaScript8章节第01章语法
- 初中英语语法第一课(语法到底是个什么玩意儿())