[ 작업 환경 ]

Python 3.7.5

Flask 1.1

 

 

 

 

 [ 문제 상황 ]

 

Access-Control-Allow-Origin

부재로 인한 API 요청 비정상

 

 

 

 

 

 [ 해결 방법 ]

 

flask-cors를 활용합니다.

 pip install -U flask-cors

필자의 경우 flask-cors-3.0.8 버전이 설치되었습니다.

 

 

 

 

 [ 활용 방법들 ]

 

 

1. 모든 경로의 모든 도메인에 대한 CORS 허용 예시

from flask import Flask
from flask_cors import CORS

app = Flask(__name__)
CORS(app)

@app.route("/")
def helloWorld():
    return "Hello, cross-origin-world!"

 

2. resource 별로 CORS 허용 예시

from flask_cors import CORS

# ...

app = Flask(__name__)
cors = CORS(app, resources={r"/api/*": {"origins": "*"}})

@app.route("/api/v1/users")
def list_users():
    return "user example"

 

3. 데코레이터로 특정 CORS Route 설정

from flask_cors import cross_origin

# ...

@app.route("/")
@cross_origin()
def helloWorld():
    return "Hello, cross-origin-world!"

 

 

 

 

 [ 로그 확인 방법 ]

 

아래 설정을 통해 세부적인 로깅을 할 수 있습니다.

import logging

# ...

logging.getLogger('flask_cors').level = logging.DEBUG

 

 

 

+ Recent posts