前言
Flask是一个使用Python编写的轻量级Web应用框架。基于Werkzeug WSGI工具箱和Jinja2模板引擎。Flask使用BSD授权。(维基百科)
下载依赖
定义服务
app.py1 2 3 4 5 6 7
| from flask import Flask
app = Flask(__name__)
@app.route("/") def index(): return "文本内容"
|
启动HTTP服务
指定监听的IP地址
1
| flask run --host=0.0.0.0
|
指定监听的端口号
处理HTTP请求
处理GET请求
1 2 3
| @app.get("/") def index(): return ""
|
处理POST请求
1 2 3
| @app.post("/") def index(): return ""
|
请求
获取请求路径
1 2 3 4 5 6
| from flask import request
@app.get("/") def index(): result = request.path return ""
|
获取请求类型
1 2 3 4 5 6
| from flask import request
@app.get("/") def index(): result = request.method return ""
|
获取请求头
1 2 3 4 5 6
| from flask import request
@app.get("/") def index(): result = request.headers return ""
|
获取请求参数
path
1 2 3
| @app.get("/<key>") def index(key): return key
|
query
1 2 3 4 5 6
| from flask import request
@app.get("/") def index(): params = request.args.to_dict() return params["key"]
|
body
1 2 3 4 5 6
| from flask import request
@app.post("/") def index(): form = request.form return form.get("key", "default")
|
json
1 2 3 4 5 6
| from flask import request
@app.post("/") def index(): body = request.json return body["key"]
|
响应
返回字符串
1 2 3
| @app.get("/") def index(): return "文本内容"
|
返回HTML
1 2 3
| @app.get("/") def index(): return "<p>文本内容</p>"
|
返回json格式字符串
1 2 3 4 5 6
| @app.get("/") def index(): result = { "key": "value" } return result
|
完成
参考文献
Flask官方文档