django 实现全局支持跨域请求
Posted lowmanisbusy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django 实现全局支持跨域请求相关的知识,希望对你有一定的参考价值。
Django 允许跨域请求
一.django 实现支持跨域请求,本人所了解到的方法有两种:
1.视图中进行配置,只实现当前视图支持跨域请求
2.进行全局配置,实现所有视图均支持跨域请求
这里对第二种方法进行一下说明:
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,下面的一项需要指定ip CORS_ORIGIN_WHITELIST = (‘*‘) # * 支持所有域名进行访问,当设置不支持所有域名进行访问时,需要传入一个列表: ["域名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
以上是关于django 实现全局支持跨域请求的主要内容,如果未能解决你的问题,请参考以下文章