解决django使用ajax跨域问题

添加中间件 django-cors-headers

pip install  django-cors-headers

  1、添加app

INSTALLED_APPS = (
    ...
    'corsheaders',
    ...
)

2、添加中间件
MIDDLEWARE = [  # Or MIDDLEWARE_CLASSES on Django < 1.10
    ...
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    ...
]

3、跨域增加忽略
#跨域增加忽略
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 = ( 'XMLHttpRequest', 'X_FILENAME', 'accept-encoding', 'authorization', 'content-type', 'dnt', 'origin', 'user-agent', 'x-csrftoken', 'x-requested-with', 'Pragma', )
 
4、如果运行django报错:
ERRORS: ?: (corsheaders.E013) Origin '*' in CORS_ORIGIN_WHITELIST is missing scheme or netloc HINT:

解决办法:
将 CORS_ORIGIN_WHITELIST = ( '*') 注释掉

 

posted on 2021-12-02 18:41  阿虾  阅读(127)  评论(0编辑  收藏  举报

导航