Flask HTTP 方法实战:GET、POST、PUT、DELETE 详解与代码示例

咖啡半糖
咖啡半糖
发布时间:2026-10-14 | 4人浏览过
原创

本文详细介绍 Flask 框架中 GET、POST、PUT、DELETE 四种核心 HTTP 方法的使用。通过具体代码示例,演示如何接收 URL 参数、路径参数、表单数据及 JSON 数据,并解析各方法的语义与应用场景,帮助开发者掌握 Web API 的基础交互逻辑。

前言

假设读者已具备基础开发环境,即在电脑上通过 pipenv 配置了虚拟环境并完成了相关设置(如使用 PyCharm 等 IDE)。若尚未完成环境搭建,请参考相关教程进行配置。

第一个 Flask 程序


from flask import Flask    #导入Flask类
app = Flask(__name__)  # 实例化flask

@app.route('/') # 使用路由,给 hello 函数定义一个路由,然后游览器通过http 请求得到相对应的数据
def hello_world():
    return 'Hello, World!'

运行结果:


GET

GET 请求用于获取指定页面的信息,并将实体主体返回给客户端。

1.GET_传参1


# GET——传参方式1

from flask import Flask, request

app = Flask(__name__)

@app.route('/api/get')
def testGet():
    name = request.args.get('name')
    ('name')

    print(name)
    return name + "是大哥!"

if __name__ == '__main__':
    app.run()

运行结果:



2.GET_传参2


# GET_传参方式2

from flask import Flask, request

app = Flask(__name__)

@app.route("/api/get/<int:id>")
def testGetPath(id):
    print(type(id))
    return f"收到参数 {id}"

if __name__ == '__main__':
    app.run()

运行结果:


POST

POST 请求用于向指定资源提交数据以进行处理,常见场景包括提交表单或上传文件,数据通常包含在请求体中。此类请求可能导致新资源的创建或现有资源的修改。

1.POST_form


# post_form

from flask import Flask, request

app = Flask(__name__)

# post form-data
@app.route("/api/post/form", methods=["POST"])
def testPostForm():
    username = request.form.get("username")
    password = request.form.get("password")
    print(username, password)
    data = {
        "username": username,
        "password": password
    }
    return data

if __name__ == '__main__':
    app.run()

运行结果:



2.POST_ json


from flask import Flask, request, jsonify

app = Flask(__name__)

class Student():

    def __init__(self, id, name, age):
        self.id = id
        self.name = name
        self.age = age

# toString
def __repr__(self):
        return f"Student[id={self.id},name={self.name},age={self.age}]"
@app.route("/api/post/json",methods=["POST"])
def testPostJson():
    id = request.json.get("id")
    name = request.json.get("name")
    age = request.json.get("age")
    stu = Student(id,name,age)
    print(stu)
    return "测试OK了!"
    
if __name__ == '__main__':
    app.run()

运行结果:


PUT

PUT 请求用于从客户端向服务器传输数据,以替换指定文档的内容。

1.PUT_传参1


from flask import Flask, request

app = Flask(__name__)


@app.route("/api/put/<int:id>")
def testPut(id):
    print(type(id))
    return f"上传参数 {id}"

if __name__ == '__main__':
    app.run()

运行结果:



2.PUT_传参2


from flask import Flask, request

app = Flask(__name__)


# PUT传参——2
@app.route("/api/put", methods=["PUT"])
def testPut():
    name = request.args.get('name')
    print(type(name))
    return f"上传参数 {name}"

if __name__ == '__main__':
    app.run()

运行结果:



3.PUT_ json


from flask import Flask, request, jsonify

app = Flask(__name__)

class Student():

    def __init__(self, id, name, age):
        self.id = id
        self.name = name
        self.age = age

def __repr__(self):
    return f"Student[id={self.id},name={self.name},age={self.age}]"
@app.route("/api/put/json", methods=["PUT"])
def testPutJson():
    id = request.json.get("id")
    name = request.json.get("name")
    age = request.json.get("age")
    stu = Student(id, name, age)
    print(stu)
    return "PUT传json测试成功!!"
    
if __name__ == '__main__':
    app.run()

运行结果:



DELETE

DELETE 请求用于指示服务器删除指定的资源或页面。

DELETE_传参


from flask import Flask, request, jsonify

app = Flask(__name__)


@app.route('/api/delete', methods=["DELETE"])    # 方式1
def testDelete():
    name = request.args.get('name')
    print(name)
    return name + "是大哥!"

@app.route("/api/delete/<int:ID>", methods=["DELETE"])    #方式2
def testGetPath(ID):
    print(type(ID))
    return f"测试值为 {ID}"


if __name__ == '__main__':
    app.run()

运行结果同上!!!

补充内容

至此,关于 Flask 交互基础(GET、POST、PUT、DELETE)的使用介绍完毕。如需了解更多 Flask 相关内容,建议查阅本站过往文章或继续浏览后续教程,感谢支持。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表