【问题标题】:How to add Access-Control-Allow-Origin header for flask method view?如何为烧瓶方法视图添加 Access-Control-Allow-Origin 标头?
【发布时间】:2019-11-08 21:32:17
【问题描述】:

我有一个flask MethodView如下

class Ping(MethodView):
    """
    Ping point implementation
    """

    def get(self) -> Response:
        """
        Checks the server's health
        :return: a json as status = 200
        """
        return jsonify(status=200)

我想为此端点添加Access-Control-Allow-Origin

def create_app() -> Flask:
    """
    Creates the flask application.
    :return: returns an app instance.
    """

    app: Flask = Flask(__name__, instance_relative_config=True)

    # db config
    app.config["db"] = os.environ.get("APP_DB_NAME")
    app.config["host"] = os.environ.get("APP_DB_HOST")
    app.config["password"] = os.environ.get("APP_DB_PASSWORD")
    app.config["port"] = os.environ.get("APP_DB_PORT")
    app.config["user"] = os.environ.get("APP_DB_USER")

    # secret key config
    app.config.from_mapping(SECRET_KEY=os.environ.get("SECRET"))

    add_urls(app)

    return app


def add_urls(app: Flask) -> None:
    """
    Add urls to app
    :param app: Flask app instance
    """

    # TODO: Declare end-points in a dictionary and iterate.
    app.add_url_rule(
        f"{END_POINT}/ping", view_func=Ping.as_view("ping")
    )

return jsonify() 方法无法传递标头。如何设置标题“Access-Control-Allow-Origin”?

【问题讨论】:

    标签: python python-3.x flask


    【解决方案1】:
    1. 安装 Flask-Cors 包
    2. 并将其导入为:- 从 flask_cors 导入 CORS

      在create_app()方法中,初始化Flask应用后,

      app: Flask = Flask(__name__, instance_relative_config=True)

    3. 声明这一行 -> CORS(app)

    【讨论】:

      猜你喜欢
      • 2011-06-27
      • 2016-07-03
      • 2016-01-11
      • 1970-01-01
      • 2021-11-28
      • 2019-02-07
      • 2014-08-14
      • 1970-01-01
      相关资源
      最近更新 更多