问题描述:
浏览器报错内容: 'Access-Control-Allow-Origin'
解决方法一:
1. 在项目内创建一个CorsMiddleweare.py
我是在与settings配置文件同级下创建的
from django.utils.deprecation import MiddlewareMixin
# 跨域处理中间件
class Cors(MiddlewareMixin):
def process_response(self, request, response):
response['Access-Control-Allow-Origin'] = '*'
if request.method == 'OPTIONS':
response['Access-Control-ALlow-Headers'] = 'Content-Type'
response['Access-Control-Allow-Methods'] = 'GET,POST,PUT,PATCH,DELETE'
return response
2. 在settings配置文件中间件加上
MIDDLEWARE = [
'mysite.CorsMiddleweare.Cors', # 加上这句
]
解决办法二:
1. 安装库: pip install django-cors-headers
2. settings配置
1. ALLOWED_HOSTS = ['*']
2. INSTALLED_APPS = [
'corsheaders', # 加上这句
]
3. MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware', # 加上这句
]
# 允许跨域源
4. CORS_ORIGIN_ALLOW_ALL = True
# 允许的请求头
5. CORS_ALLOW_HEADERS = (
"accept",
"accept-encoding",
"authorization",
"content-type",
"dnt",
"origin",
"user-agent",
"x-csrftoken",
"x-requested-with",
# 额外允许的请求头
'token'
)