Python 3.x Flask cors未按配置拒绝来源
我尝试将flask cors(3.0.8)与flask restplus(0.13.0)结合使用,允许一些来源,拒绝其他来源,但cors不拒绝任何跨来源请求 我的架构使用3个文件来初始化我的应用程序: 1。app/\uuu init\uuuu py(声明我的蓝图) 2。app/main/\uuuuu init\uuuuuu.py(使用我的创建应用程序功能,使用CORS) 3。manage.py(包含我的主流程) 此方法用于初始化我的应用程序,但我的API允许来自所有域的所有请求,而不是仅允许来自something.my-domain.com的请求(如配置所示)Python 3.x Flask cors未按配置拒绝来源,python-3.x,flask,flask-restplus,flask-cors,Python 3.x,Flask,Flask Restplus,Flask Cors,我尝试将flask cors(3.0.8)与flask restplus(0.13.0)结合使用,允许一些来源,拒绝其他来源,但cors不拒绝任何跨来源请求 我的架构使用3个文件来初始化我的应用程序: 1。app/\uuu init\uuuu py(声明我的蓝图) 2。app/main/\uuuuu init\uuuuuu.py(使用我的创建应用程序功能,使用CORS) 3。manage.py(包含我的主流程) 此方法用于初始化我的应用程序,但我的API允许来自所有域的所有请求,而不是仅允许来自
有人已经有这个问题了?我认为您没有使用应用程序工厂模式正确初始化扩展 在app/main/_init__.py中,尝试: 完整示例:使用以下内容:
cors.init_app(app,resources={r“*”:{“origins”:“*”})
虽然此代码可以回答问题,但提供有关此代码回答问题的原因和/或方式的其他上下文可以提高其长期价值。
from flask_restplus import Api
from flask import Blueprint
...
BLUEPRINT = Blueprint("api", __name__)
API = Api(BLUEPRINT)
...
...
def create_app()
app = Flask(__name__)
CORS(app, resources={r"/*": {"origins": r".*\.mydomain.com"}})
...
from app.main import create_app
from app import BLUEPRINT
...
APP = create_app(os.getenv("APP_ENV", "dev"))
APP.register_blueprint(BLUEPRINT)
APP.app_context().push()
...
if __name__ == "__main__":
APP.run(host="0.0.0.0", port=80)
...
cors = CORS()
def create_app()
app = Flask(__name__)
cors.init_app(app, resources={r"/*": {"origins": r".*\.mydomain.com"}})
...