Django设置允许跨域请求

方式一:

在中间件中

def process_response(self, request, response):
    response['Access-Control-Allow-Origin'] = '*'
    response['Access-Control-Allow-Headers'] = "content-type"
    response['Access-Control-Allow-Methods'] = "DELETE,PUT"
    return response

方式二:

使用 django-cors-headers 组件

pip install django-cors-headers

settings.py

INSTALLED_APPS = [
    ...
    'corsheaders',
    ...
 ]
 MIDDLEWARE_CLASSES = (
    ...
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    ...
)

#跨域增加忽略
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 @ 2019-10-31 09:15  怀心抱素  阅读(1785)  评论(0编辑  收藏  举报