from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return '<h1>Hello World!<h1>'
@app.route('/user/<name>')
def username(name):
return '<h1> Hello %s </h1>' %name
if __name__ == '__main__':
app.run()
查看flask中 url的映射关系
在终端先输入python,然后输入以下命令
重定向
状态码用302表示,指向新的网页地址。flask提供redirect()辅助函数。
模板
视图函数有两个作用,一个是业务逻辑,另一个是表现逻辑。把生成响应回送浏览器是表现逻辑。
模板是包含响应文本的文件。flask使用Jinja2模板引擎。
渲染模板的步骤
- 模板放在templates文件夹下。
- 在flask中导入render_template函数
- 在视图函数中,使用render_template函数,渲染模板。
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
# 类
class Person(object):
name = 'Mary'
age = 18
p = Person()
context = {
'username' : 'Jone',
'gender' : 'male',
'age' : 17,
'person' : p,
'websites' : {
'baidu' : 'www.baidu.com',
'google' : 'www.google.com'
}
}
return render_template('index.html',**context)
if __name__ == '__main__':
app.run()
html文件代码为
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>hello</title>
</head>
<body>
这是html中出现的文字
<p>用户名:{{ username }}</p>
<p>性别:{{ gender }}</p>
<p>年龄:{{ age }}</p>
<hr>
<p>用户名:{{ person['name'] }}</p>
<p>用户名:{{ person['age'] }}</p>
<hr>
<p>百度:{{ websites['baidu'] }}</p>
<p>谷歌:{{ websites['google'] }}</p>
</body>
</html>