django中配置允许跨域请求
django中配置允许跨域请求
1.安装pip包
安装django-cors-headers,详情请看官方文档。
pip3 install django-cors-headers
2.添加中间件
在MIDDLEWARE
添加corsheaders.middleware.CorsMiddleware
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
...
]
3.配置sitting.py
在INSTALLED_APPS
里添加corsheaders
INSTALLED_APPS = [
...
'corsheaders',
...
]
在底部添加
#跨域增加忽略
# 跨域允许证书
CORS_ALLOW_CREDENTIALS = True
# 配置允许跨站访问本站的地址
CORS_ORIGIN_ALLOW_ALL = True
# CORS_ORIGIN_WHITELIST = (
# 'localhost:8000', # 请求的域名(此处仅在CORS_ORIGIN_ALLOW_ALL = False时有效)
# )
# 定义允许的匹配路径正则表达式
CORS_URLS_REGEX = '^.*$'
# 设置允许访问的方法
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
'VIEW',
)
# 设置允许的header
CORS_ALLOW_HEADERS = (
'accept',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
)
自强不息,厚德载物。