【发布时间】:2020-08-28 15:28:26
【问题描述】:
我的 production.py 文件中有我的 REST API 设置。此 REST API 已上传到 Heroku,并使用 django-cors-headers 和以下配置:
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# Third-Party apps
'rest_framework',
'rest_framework.authtoken',
'corsheaders',
'gunicorn',
# Local apps
'core',
'users',
'checkers',
]
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
]
CORS_ORIGIN_ALLOW_ALL = False
CORS_ORIGIN_WHITELIST = (
'myapi.herokuapp.com'
)
将 myapi.herokuapp.com 放入 CORS_ORIGIN_WHITELIST 的想法是查看来自 localhost 的请求是否被拒绝(这是正确的做法)。但这是被接受的,这让我明白 CORS 运行不正常。
【问题讨论】:
标签: python django api rest heroku