Включите CORS в Flask для запросов jQuery

Чтобы включить CORS (совместное использование ресурсов между источниками) в Flask для запросов jQuery, вы можете использовать несколько методов. CORS позволяет веб-приложениям отправлять запросы к домену, отличному от того, который обслуживает приложение. Вот несколько подходов, которые вы можете рассмотреть:

  1. Использование расширения Flask-CORS. Flask-CORS — популярное расширение Flask, которое упрощает процесс включения CORS. Вы можете установить его с помощью pip:

    pip install -U flask-cors

    Затем вы можете включить CORS для своего приложения Flask, добавив следующий код:

    from flask import Flask
    from flask_cors import CORS
    app = Flask(__name__)
    CORS(app)

    Это включит CORS для всех маршрутов в вашем приложении Flask.

  2. Настройка заголовков CORS вручную. Если вы предпочитаете настраивать заголовки CORS вручную, вы можете использовать пакет flask_cors, чтобы определить заголовки CORS для определенных маршрутов или глобально. Вот пример:

    from flask import Flask
    from flask_cors import CORS
    app = Flask(__name__)
    cors = CORS(app, resources={r"/api/*": {"origins": "*"}})
    @app.route('/api/data')
    def get_data():
       # Your code here
       pass

    В этом примере CORS включен для всех маршрутов в /api/*, что позволяет выполнять запросы из любого источника.

  3. Украшение отдельных маршрутов. Если вам нужно включить CORS только для определенных маршрутов, вы можете использовать декоратор @cross_origin, предоставляемый Flask-CORS. Вот пример:

    from flask import Flask
    from flask_cors import CORS, cross_origin
    app = Flask(__name__)
    cors = CORS(app)
    @app.route('/api/data')
    @cross_origin()
    def get_data():
       # Your code here
       pass

    Такой подход позволяет включать CORS для каждого маршрута.