django 实现全局支持跨域请求

Django 实现允许跨域请求

1.安装django-cors-headers

pip install django-cors-headers

2.配置settings.py文件

INSTALLED_APPS = [

    ...

    'corsheaders',

    ...

]
MIDDLEWARE_CLASSES = (

    ...

    'corsheaders.middleware.CorsMiddleware',

    'django.middleware.common.CommonMiddleware', # 注意顺序,必须在corsheaders.middleware.CorsMiddleware之后
    ...

)
# 跨域增加忽略

CORS_ALLOW_CREDENTIALS = True

CORS_ORIGIN_ALLOW_ALL = True  # 设置支持所有域名访问,如果为False,下面的一项需要指定域名

CORS_ORIGIN_WHITELIST = ('*') # * 支持所有域名进行访问,当设置不支持所有域名进行访问时,需要在括号内传入域名: "域名1","域名"

ALLOWED_HOSTS = ['*']

# ALLOWED_HOSTS = ["域名1","域名2"] 用以设置允许使用那些域名进行访问,需要包括跨域白名单里的域名,星花表示所有
# 设置允许哪些请求方式进行跨域请求
CORS_ALLOW_METHODS = (

    'DELETE',

    'GET',

    'OPTIONS',

    'PATCH',

    'POST',

    'PUT',

    'VIEW',

)
# 接受请求头。默认的如下:

default_headers = (

    'accept',

    'accept-encoding',

    'authorization',

    'content-type',

    'dnt',

    'origin',

    'user-agent',

    'x-csrftoken',

    'x-requested-with',

)

# 如果默认接受的请求头不包含对方进行请求时的请求头,需要重新定义:CORS_ALLOW_HEADERS 

配置完毕,如果只是需要配置单个视图支持跨域请求请点击击: https://www.cnblogs.com/lowmanisbusy/p/9108476.html

原文地址:https://www.cnblogs.com/lowmanisbusy/p/9589432.html