关于本站
基于Django+Bootstrap开发
主要发表本人使用过的技术
于 2023-12-01 搭建本站
问题描述:
浏览器报错内容: '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', # 加上这句 mysite:是文件路径,这里不能错
]
解决方式二:
1. 安装依赖
# django版本大于4.0直接安装就可以
pip install django-cors-headers
# django版本小于4.0,可以安装3.11版本
pip install django-cors-headers==3.11.0
2. 下面在settings配置添加
ALLOWED_HOSTS = ['*']
INSTALLED_APPS = [
'corsheaders', # 注册app
]
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware', # 加上这句
]
# 允许跨域源
CORS_ORIGIN_ALLOW_ALL = True
# 允许的请求头
CORS_ALLOW_HEADERS = (
"accept",
"accept-encoding",
"authorization",
"content-type",
"dnt",
"origin",
"user-agent",
"x-csrftoken",
"x-requested-with",
# 额外允许的请求头
'token'
)
上一篇:没有了
提交评论
您尚未登录,登录之后方可评论~ 登录 or 注册