[ 작업 환경 ]
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
'Development > Flask with Python' 카테고리의 다른 글
[Solved][Flask1.1] TypeError: object of type 'method' has no len() (0) | 2020.05.26 |
---|---|
[Solved][Ncloud][Flask1.1] OSError: [Errno 98] Address already in use (0) | 2020.05.25 |
[Solved][Python3] timedelta years, months 대안 (0) | 2020.03.29 |
[Flask1.1][openssl] HTTP -> HTTPS 변경 적용 방법 (안전하지 않음으로 이동 편) (0) | 2020.03.18 |
[ncloud][Flask1.1][MariaDB] 기본 환경 세팅 후 Flask 세팅 (0) | 2020.03.13 |