【问题标题】:How to allow Cross Origin Request with Flask CORS correctly?如何正确允许使用 Flask CORS 进行跨域请求?
【发布时间】:2024-04-22 15:40:01
【问题描述】:

我正在尝试向我的 Flask 应用程序允许同源请求:

这是在我的__init__.py 文件中:

# ... other imports ...
from flask_cors import CORS

cors = CORS()


def create_app(script_info=None):
    app = Flask(__name__)
    app_settings = os.getenv('APP_SETTINGS')
    app.config.from_object(app_settings)

    from project.api.flakes import flakes_blueprint
    app.register_blueprint(flakes_blueprint)
    cors.init_app(flakes_blueprint, resources={r"/flakes": {"origins": "*"}})

    return app

根据docs,这应该足以让它工作,但我明白了:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:5001/flakes. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing)

我怎样才能让它工作?我原以为{"origins": "*"} 涵盖了所有内容。

【问题讨论】:

    标签: python flask flask-cors


    【解决方案1】:

    我没有看到像您使用cors_init_app() 提供的示例,因此无法评论为什么它不起作用。

    但是,这是我以前使用的一个有效示例:

    app = Flask(__name__)
    CORS(app, resources={r'/*': {'origins': '*'}})
    app.config['CORS_HEADERS'] = 'Content-Type'
    app.register_blueprint(my_blueprint_module.bp)
    

    【讨论】:

      最近更新 更多