Flask HTTP 方法实战:GET、POST、PUT、DELETE 详解与代码示例
本文详细介绍 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 相关内容,建议查阅本站过往文章或继续浏览后续教程,感谢支持。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













