Flask 代码片段

基本结构

1
2
3
4
5
6
7
from flask import Flask, request, jsonify
app = Flask(__name__)


@app.route('/')
def hello_world():
return 'Hello, World!'

启动运行

环境变量

1
2
export FLASK_APP=main.py
export FLASK_ENV=development

执行 python -m flask run 启动服务

获取 GET POST 数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@app.route('/', methods=['GET'])
def hello_world():
username = request.args.get('username', 'World')
return 'Hello, ' + username + '!'

@app.route('/transfer_form', methods=['POST'])
def transfer_form():
print(request.form)
return jsonify(request.form)


@app.route('/transfer_json', methods=['POST'])
def transfer_json():
print(request.get_json())
return request.json
  • request.data 请求的原始数据
  • request.args GET 形式的 URL 参数
  • request.form POST 形式的 Form 表格
  • request.files POST 形式在 Form 中的文件, form 必须添加 enctype=multipart/form-data 否则文件不会被上传
  • request.values 合并 args 和 form 参数, 冲突以 args 为准
  • request.json POST 形式的 Body JSON 数据, Content-Type 为 application/json, 使用 request.get_json(force=True) 强制使用 JSON.
    获取参数的方式:

request.form[‘name’]: 确定 name 存在
request.form.get(‘name’, default): name 可能存在, 不存在可以给默认值
request.form.getlist(‘name’): name 参数可能传递多次

参考: Get the data received in a Flask request

Donate - Support to make this site better.
捐助 - 支持我让我做得更好.