无法使用蓝图在flask应用程序上运行cors

2024-05-16 01:45:55 发布

您现在位置:Python中文网/ 问答频道 /正文

在我开始在我的应用程序中使用蓝图后,我无法使用flask_cors包在我的flask应用程序中的应用程序上启用cors。我有以下结构

app
  api
     __init__.py
     api.py
  main.py

myinit.py如下所示

from flask import Blueprint
from flask_cors import CORS

api = Blueprint('api', __name__, url_prefix="/api")
cors = CORS()
cors.init_app(api, resources={r"/*": {"origins": "*", "supports_credentials": True}})

还有我的主菜

def setup_app_config(app):
    database_uri = 'postgresql+psycopg2://{user}:{password}@{host}/{database}?sslmode={sslmode}'.format(
            user=os.getenv('PGUSER'),
            password=os.getenv("PGPASSWORD"), 
            host=os.getenv("PGHOST"), 
            port=os.getenv("PGPORT"), 
            database=os.getenv("PGDATABASE"),
            sslmode=os.getenv("PG_SSL")
        )
    
    app.config.update(
        SQLALCHEMY_DATABASE_URI=database_uri,
        SQLALCHEMY_TRACK_MODIFICATIONS=False,
    )
    CORS(app, resources={r"/api/*": {"origins": "*"}},  supports_credentials=True)

app = Flask(__name__)

setup_app_config(app)
db.init_app(app)

app.register_blueprint(api, urlprefix="/")

我在浏览器控制台上不断遇到以下错误

Access to XMLHttpRequest at 'http://localhost:8000/api/login' from origin 'http://localhost:8080' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.
xhr.js?b50d:160 POST http://localhost:8000/api/login net::ERR_FAILED

在我的axios配置中,我使用以下标志withCredentials: true。任何关于解决这个问题的建议都将不胜感激


Tags: frompyapiconfigapp应用程序httpflask