Django Rest Framework提供了corsheaders模块解决跨域问题
安装模块
pip3.9 install django-cors-headers
注册应用
# 注册 corsheaders 模块
INSTALLED_APPS = [
...
'corsheaders',
]
配置中间件
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware', # 配置中间件,位置必须在CommonMiddleware之前
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
配置参数
# 如果是DEBUG模式
if DEBUG:
# 允许所有跨域行为
CORS_ORIGIN_ALLOW_ALL = True
else:
# 允许跨域的白名单
# 域名不要以http:// 或者https:// 开头
CORS_ORIGIN_WHITE_LIST = (
'www.testApi.com' #信任的站点
)
标签:corsheaders,跨域,middleware,django,contrib,模块,解决,DRF
From: https://www.cnblogs.com/Mickey-7/p/17041212.html