欢迎访问宙启技术站
智能推送

使用flask_cors模块为PythonFlask应用添加跨域访问支持

发布时间:2023-12-27 06:28:32

在Python Flask应用中添加跨域访问支持非常简单,只需使用Flask提供的flask_cors模块即可。

flask_cors是一个用于支持跨域请求的Flask插件,它提供了一些装饰器和中间件,使得添加跨域支持变得非常容易。

首先,必须安装flask_cors模块。可以使用pip命令进行安装:

pip install -U flask-cors

接下来,需要在Flask应用中导入flask_cors模块,并初始化它:

from flask import Flask
from flask_cors import CORS

app = Flask(__name__)
CORS(app)

在这个简单的例子中,我们创建了一个Flask应用,并调用了CORS()函数,将它初始化为一个CORS对象。CORS对象将会自动处理跨域请求。

接下来,可以在具体的视图函数上添加@cross_origin装饰器,以说明哪些请求可以被允许跨域访问。@cross_origin装饰器接收一些可选的参数,可以用来定制不同的跨域请求规则。以下是一个简单的使用例子:

from flask import Flask, jsonify
from flask_cors import CORS, cross_origin

app = Flask(__name__)
CORS(app)

@app.route("/")
@cross_origin()
def hello():
    return jsonify({"message": "Hello, World!"})

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

在这个例子中,我们创建了一个路由“/”,并使用@cross_origin装饰器将其标记为允许跨域访问。当该路由被请求时,它会返回一个包含一条简单消息的JSON响应。

启动Flask应用后,可以使用任何工具或浏览器来发送跨域请求。在浏览器中,你可以使用JavaScript的XMLHttpRequest或fetch方法发送跨域请求,例如:

fetch("http://localhost:5000")
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.log(error));

以上是一个简单的使用flask_cors模块为Python Flask应用添加跨域访问支持的例子。通过引入flask_cors模块并使用@cross_origin装饰器,我们可以轻松地实现跨域请求。无论是为API服务添加跨域支持,还是为前端应用提供跨域请求,flask_cors都是一个非常有用的工具。