Python Django 配置允许跨域 CORS

Django 跨域问题,解决前后端连接 CORS

  1. 安装 django-cors-headers
# 命令行输入
pip install django-cors-headers

配置 settings.py 文件

  1. 在 INSTALLED_APPS 里添加 “corsheaders”
# 注册应用
INSTALLED_APPS = [
    ...
    'corsheaders',
    ...
 ]
  1. 在 MIDDLEWARE_CLASSES 添加

重点:
cors-headers的中间件CorsMiddleware在注册时必须放在django-common中间件的前一个
如何有重复配置也要删除掉之前的,不然会导致配置失效。

# 中间层设置
MIDDLEWARE_CLASSES = (
    ...
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware', 
    ...
)
  1. 在底部新增

重点:
如何有重复配置也要删除掉之前的,不然会导致配置失效

# 跨域增加忽略
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_ALLOW_ALL = True
CORS_ORIGIN_WHITELIST = ()
CORS_ALLOW_METHODS = (
    'DELETE',
    'GET',
    'OPTIONS',
    'PATCH',
    'POST',
    'PUT',
    'VIEW',
) 
CORS_ALLOW_HEADERS = (
    'accept',
    'accept-encoding',
    'authorization',
    'content-type',
    'dnt',
    'origin',
    'user-agent',
    'x-csrftoken',
    'x-requested-with',
)
posted @ 2021-10-10 22:04  运维之爪  阅读(614)  评论(1编辑  收藏  举报