【笔记】Flask学习笔记

前言

Flask是一个使用Python编写的轻量级Web应用框架。基于Werkzeug WSGI工具箱和Jinja2模板引擎。Flask使用BSD授权。(维基百科

下载依赖

1
pip3 install Flask

定义服务

app.py
1
2
3
4
5
6
7
from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
return "文本内容"

启动HTTP服务

1
flask run

指定监听的IP地址

1
flask run --host=0.0.0.0

指定监听的端口号

  • 默认端口号为5000
1
flask run --port=5000

处理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

form
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官方文档