这个错误表明你尝试导入 flask.ext.cors
模块时失败了。这个错误通常有以下几种原因:
flask.ext.*
是 Flask 0.11 版本之前的扩展导入方式,在较新版本的 Flask 中已被弃用将旧的导入方式:
from flask.ext.cors import CORS
更新为新的推荐导入方式:
from flask_cors import CORS
如果尚未安装 Flask-CORS,请使用 pip 安装:
pip install flask-cors
或者如果你使用 Python 3 和 pip3:
pip3 install flask-cors
确保你在正确的 Python 环境中安装了该包。如果你使用虚拟环境,请先激活它:
# 激活虚拟环境(Linux/macOS)
source venv/bin/activate
# 激活虚拟环境(Windows)
venv\Scripts\activate
然后重新安装 Flask-CORS。
from flask import Flask
from flask_cors import CORS
app = Flask(__name__)
CORS(app) # 这将允许所有来源的跨域请求
@app.route('/')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
app.run()
Flask-CORS 提供了多种配置选项来控制跨域行为:
# 允许特定来源
CORS(app, resources={r"/api/*": {"origins": "http://example.com"}})
# 允许所有来源,但限制方法和头部
CORS(app, resources={
r"/api/*": {
"origins": "*",
"methods": ["GET", "POST", "OPTIONS"],
"allow_headers": ["Content-Type"]
}
})
Flask-CORS 通常用于以下场景:
*
@cross_origin
装饰器使用没有搜到相关的文章