cors中间件
2024-10-01 02:36:32
class MiddlewareMixin(object):
def __init__(self, get_response=None):
self.get_response = get_response
super(MiddlewareMixin, self).__init__() def __call__(self, request):
response = None
if hasattr(self, 'process_request'):
response = self.process_request(request)
if not response:
response = 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" # 允许你发送DELETE,PUT
response['Access-Control-Allow-Methods'] = "DELETE,PUT" return response
在settings.py文件中添加中间件
前后端分离开发
或导入
from django.utils.deprecation import MiddlewareMixin
查找MiddlewareMixin方法:1 .在setting.py文件中,随便找一个中间件
2.查看父类
3.查看父类所在.py文件的导入模块
优化
class MiddlewareMixin(object):
def __init__(self, get_response=None):
self.get_response = get_response
super(MiddlewareMixin, self).__init__() def __call__(self, request):
response = None
if hasattr(self, 'process_request'):
response = self.process_request(request)
if not response:
response = 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'] = "*" if request.method == "OPTIONS":
# 允许你携带Content-Type请求头
response['Access-Control-Allow-Headers'] = "Content-Type"
# 允许你发送DELETE,PUT
response['Access-Control-Allow-Methods'] = "DELETE,PUT" return response
最新文章
- CCI4.4/LintCode Balanced Binary Tree, Binary Tree, Binary Search Tree
- cocos2dx day 2 - Sprites
- Docker如何为企业产生价值?
- Linux 使用 iptables屏蔽IP段
- centos 7 DenyHosts 安装 防暴力破解ssh登陆
- Struts2下的<;result>;中的type整理
- 20135326、20135303-linux实验三实验报告
- [troubleshoot][archlinux][X] plasma(KDE) 窗口滚动刷新冻结(约延迟10s)(已解决,root cause不明,无法再次复现)
- git 冲突
- android中选择控件与选择界面自然过度效果的实现--一种新的交互设计
- Nanjing GDG Meetup 10月19日线下活动
- 软考之CPU的寻址方式
- myBatis动态语句详解
- Android超精准计步器开发-Dylan计步
- 如何将markdown转换为wxml
- 简述iproute家族命令
- Joe Hocking - Unity in Action. 2nd Ed [2018]
- Java NIO系列教程(七) selector原理 Epoll版的Selector
- HTML Entity 字符实体(字符转义)
- 接口开发-集成接口文档(swagger)