Django CORS error 跨域问题 解决方案

在当下比较流行 前端和后端分离的方式进行开发

例如:

前端培训 时 使用的是 vue 和 使用的是 python 中的 django

第一步:

注释掉  'django.middleware.csrf.CsrfViewMiddleware', 这个配置文件中的这句话

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    # 'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

第二步:

通过 pip install django-cors-headers 安装这个包文件

pip install django-cors-headers

第三步:

INSTALLED_APPS 中 加上 'corsheaders',

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'corsheaders', # 加载corsheaders,这个一定要加
    'users'
]

第四步:

MIDDLEWARE 中 加上 'corsheaders.middleware.CorsMiddleware',

MIDDLEWARE = [
    'corsheaders.middleware.CorsMiddleware', # 加上这句话
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    # 'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

就差最后一步了:

在配置文件中,增加这句话,意思是允许所有的跨域

CORS_ORIGIN_ALLOW_ALL = True

经过前面5步的操作 Django CORS error 跨域问题就可以轻松解决了