Python Flask交互基础(GET、 POST 、PUT、 DELETE)

前言

看到这篇文章我就默认你已经在你的电脑上使用 pipenv搭建好了虚拟环境并且设置好了开发环境(pycharm)。如果没有,请参照这篇文章。文章传送门

第一个flask程序

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

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

运行结果:
在这里插入图片描述
在这里插入图片描述

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

从客户端向服务器传送的数据取代指定的文档的内容。

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_传参
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()

运行结果同上!!!

补充内容

在这里插入图片描述

  • 12
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
### 回答1: 你可以在 Flask 中使用 ajax 和 JSON 来实现前后端分离。 首先,在 Flask 中创建一个视图函数,它会返回一个 JSON 响应,例如: ``` @app.route('/api/data') def get_data(): data = {'key': 'value'} return jsonify(data) ``` 然后,在前端 JavaScript 代码中使用 ajax 请求这个视图,例如: ``` $.get('/api/data', function(data) { console.log(data.key); // 'value' }); ``` 这样,前端 JavaScript 代码就可以通过 ajax 请求与 Flask 后端进行通信,从而实现前后端分离。 ### 回答2: Python Flask可以通过使用REST API来实现前后端分离。REST(Representational State Transfer)是一种软件架构风格,它使用轻量级的通信协议(如HTTP)来传输数据,并且将数据表示为资源。 要实现前后端分离,可以按照以下步骤进行: 1. 建立一个Flask应用程序,负责提供后端API接口。在这个应用程序中,可以使用Flask提供的路由装饰器来定义各种API接口。 2. 设计并实现后端API接口。这些接口应该按照REST原则来进行设计,使用不同的HTTP方法(如GET、POST、PUT、DELETE)来进行数据的读取、创建、更新和删除。 3. 使用Flask提供的JSON模块来处理API请求和响应。当后端收到API请求时,可以解析请求的JSON数据,并基于这些数据来进行业务逻辑的处理。然后将处理结果封装成JSON格式的响应返回给前端。 4. 在前端使用JavaScript框架(如AngularJS、ReactJS等)来发送API请求和处理响应。前端可以通过AJAX或Fetch等技术来发送请求,并使用JSON解析响应。 5. 前端根据后端提供的API接口来展示和处理数据。前端可以通过调用API接口来获取数据,并使用JavaScript来进行页面的渲染和交互。通过这种方式,前端和后端可以分别进行开发,彼此之间解耦,提高开发效率。 总结起来,通过Flask提供的REST API和前端的JavaScript框架,可以实现前后端分离的开发模式。后端提供API接口,前端通过调用这些接口来获取和处理数据,实现页面展示和交互。这种分离的方式可以方便地进行团队合作,各自独立开发,提高开发效率。 ### 回答3: Python Flask可以通过一些技术和方法来实现前后端分离。 首先,可以使用Flask提供的模板引擎来渲染前端页面。Flask的模板引擎可以使用Jinja2模板语言来生成HTML页面,通过模板中的控制语句和变量,可以将后端数据传递到前端页面进行渲染。这样前端页面可以直接通过HTTP请求来获取后端数据,实现前后端的分离。 其次,可以使用Flask提供的RESTful API来实现前后端分离。RESTful API是一种通过URL和HTTP方法来进行数据交互的规范。在Flask中,可以通过Flask-RESTful扩展来方便地定义和实现RESTful风格的API接口,前端可以通过HTTP请求发送数据和请求后端的API接口,后端可以根据请求的方法和URL来对数据进行处理和返回相应的结果。 另外,还可以使用Flask提供的蓝图(Blueprint)来实现前后端分离。蓝图可以将Flask应用划分成多个模块,每个模块可以负责不同的功能,从而方便地实现代码的组织和重用。可以将前后端的代码分别放在不同的蓝图中,前端代码可以通过HTTP请求来访问后端蓝图提供的API接口,实现前后端的分离。 综上所述,Python Flask可以通过模板引擎、RESTful API和蓝图等方式来实现前后端分离,提高代码的可维护性和可扩展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值