Django中解决跨域请求问题
Posted ggtomato
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django中解决跨域请求问题相关的知识,希望对你有一定的参考价值。
解决办法
- 通过django中间件进行添加跨域头
1. 新建一个中间件,路径为:Django项目/your_app/core.py,
- 内容如下
from django.middleware.common import CommonMiddleware
class MiddlewareMixin:
def __init__(self, get_response=None):
self.get_response = get_response
super().__init__()
def __call__(self, request):
response = None
if hasattr(self, 'process_request'):
response = self.process_request(request)
response = response or self.get_response(request)
if hasattr(self, 'process_response'):
response = self.process_response(request, response)
return response
class CORSMiddleware(MiddlewareMixin):
def process_response(self, request, response):
# 添加响应头
response["Access-Control-Allow-Origin"] = "*"
# 允许携带Content-Type请求头
# response["Access-Control-Allow-Headers"] = "Content-Type"
# 允许请求的方法
# response["Access-Control-Allow-Methods"] = "DELETE,PUT,POST"
return response
2. 在 项目/setting.py中, 新增
"api.core.CORSMiddleware", # 新增
#'django.middleware.csrf.CsrfViewMiddleware', # 注释
问题解决.
以上是关于Django中解决跨域请求问题的主要内容,如果未能解决你的问题,请参考以下文章