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',
)

参考

posted @ 2020-06-09 13:20  aitansi  阅读(646)  评论(0编辑  收藏  举报