一、访问路由并返回响应
写一个最简单的 hello.py,实现功能:用户请求应用根地址'/'
时,处理该请求的视图函数index()
返回一个 HTML 字符串。
1
2
3
4
5
6
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return "<h1>Haauleon is a 卡哇伊捏 girl</h1>"
以上代码写完后,在激活虚拟环境的条件下,执行以下命令行后打开浏览器访问 http://127.0.0.1:5000/ 。
(venv) $ export FLASK_APP=hello.py
(venv) $ flask run
下图为实现效果:
二、访问动态路由并根据动态参数返回响应
定义一个包含动态部分的路由 URL,视图函数根据传进来的动态参数返回响应。
1
2
3
@app.route('/user/<name>')
def user(name):
return "<h1>{},欢迎回家,洗洗睡吧</h1>".format(name)
下图为实现效果:
三、查看 Flask 应用中的映射
假设要审查上面的 hello.py 文件中的 URL 映射关系。
1
2
3
$ python
>>> from hello import app
>>> app.url_map
审查结果如下:
四、使用 Flask 请求对象
Flask 可以通过上下文变量 request 对外开放请求对象,可使用一些常见的属性或方法,这里用到了 HTTP 请求方法。
1
2
3
@app.route('/user/center', methods=['GET', 'POST'])
def userCenter():
return "今天真的好困啊"
下图为中规中矩地使用已确定的请求方法发送请求的实现效果:
下图为使用不允许的 HTTP 请求方法发送请求的实现效果:
五、使用 Flask 响应对象
响应里面的特殊类型重定向是用来告诉浏览器一个新的 URL 并加载这个 URL 即新页面。
1
2
3
4
5
from flask import redirect
@app.route('/sleep')
def sleep():
return redirect('http://127.0.0.1:5000/user/center')
下图为实现效果: