1.如何渲染模板
flask
中导入render_template
函数render_template
render_template
中用两个星号来引用# index.py
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
class Person(object):
name = u'耕地'
gender = u'男'
age = 18
p = Person()
context = {
'username' : u'知了课堂',
'gender' : u'男',
'age' : 20,
'person' : p,
'websites':{
'baidu':'www.baidu.com',
'google':'www.google.com'
}
}
return render_template('index.html', **context)
if __name__ == '__main__':
app.run(debug=True)
#index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
这是Html文件里出现的文字
<p>用户名:{{ username }}</p>
<p>性别:{{ gender }}</p>
<p>年龄:{{ age }}</p>
<hr>
<p>用户名:{{ person.name }}</p>
<p>性别:{{ person.gender }}</p>
<p>年龄:{{ person.age }}</p>
<hr>
<p>百度:{{ websites['baidu'] }}</p>
<p>谷歌:{{ websites['google'] }}</p>
</body>
</html>
1.介绍与语法
#py
return render_template('index.html',avatar='https://avatar.csdn.net/8/D/7/1_wcs_152.jpg?1540658115')
#html
<img src="{{ avatar|default('https://avatar.csdn.net/0/2/5/3_accept1234.jpg')}}"></img>
2.default过滤器:如果当前变量不存在,这时候可以指定默认值,
3.length过滤器:求列表或者字符串或者字典或者元组的长度。
4. 常用过滤器
*因为比较简单,直接上代码
from flask import Flask, render_template
app = Flask(__name__)
@app.route('//' )
def index(is_login):
if is_login == '1':
user = {
'username': u'耕地',
'age':18
}
return render_template('index.html', user = user)
else:
return render_template('index.html')
if __name__ == '__main__':
app.run(debug=True)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{% if user %}
<a href="#">{{ user.username }}</a>
<a href="#">注销</a>
{% else %}
<a href="#">登录</a>
<a href="#">注册</a>
{% endif %}
</body>
</html>
1.字典的遍历,语法同python
一样,可以使用items()
keys()
values()
iteritems()
iterkeys()
itervalues()
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
user = {
'username': u'耕地',
'age':18
}
return render_template('index.html', user = user)
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 %}
</body>
</html>
#html
{% for website in websites %}
<p>{{ website }}</p>
{% endfor %}
建表格
books = [
{
'name': u'西游记',
'author': u'耕地',
'price': u'120'
},
{
'name': u'三国',
'author': u'兔子',
'price': u'130'
}
]
#html
<table>
<thead>
<th>书名</th>
<th>作者</th>
<th>价格</th>
</thead>
<tbody>
{% for book in books %}
<tr>
<td>{{ book.name }}</td>
<td>{{ book.author }}</td>
<td>{{ book.price }}</td>
</tr>
{% endfor %}
</tbody>
</table>