DRF跨域问题

1、安装模块git

 pip install django-cors-headers

django-cors-headers 使用说明:https://github.com/ottoyiu/django-cors-headersgithub

2、添加到INSTALL_APPS中django

INSTALLED_APPS = (
    ...
    'coreschema',
 ... )

3、添加中间件session

下面添加中间件的说明:cors

CorsMiddleware should be placed as high as possible, especially before any middleware that can generate responses such as Django's CommonMiddleware or Whitenoise's WhiteNoiseMiddleware. If it is not before, it will not be able to add the CORS headers to these responses.spa

Also if you are using CORS_REPLACE_HTTPS_REFERER it should be placed before Django's CsrfViewMiddleware (see more below).code

意思就是 要放的尽量靠前,必须在CsrfViewMiddleware以前。咱们直接放在第一个位置就行了csrf

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

4、设置为True中间件

CORS_ORIGIN_ALLOW_ALL = True
相关文章
相关标签/搜索