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

最新文章

  1. CCI4.4/LintCode Balanced Binary Tree, Binary Tree, Binary Search Tree
  2. cocos2dx day 2 - Sprites
  3. Docker如何为企业产生价值?
  4. Linux 使用 iptables屏蔽IP段
  5. centos 7 DenyHosts 安装 防暴力破解ssh登陆
  6. Struts2下的<result>中的type整理
  7. 20135326、20135303-linux实验三实验报告
  8. [troubleshoot][archlinux][X] plasma(KDE) 窗口滚动刷新冻结(约延迟10s)(已解决,root cause不明,无法再次复现)
  9. git 冲突
  10. android中选择控件与选择界面自然过度效果的实现--一种新的交互设计
  11. Nanjing GDG Meetup 10月19日线下活动
  12. 软考之CPU的寻址方式
  13. myBatis动态语句详解
  14. Android超精准计步器开发-Dylan计步
  15. 如何将markdown转换为wxml
  16. 简述iproute家族命令
  17. Joe Hocking - Unity in Action. 2nd Ed [2018]
  18. Java NIO系列教程(七) selector原理 Epoll版的Selector
  19. HTML Entity 字符实体(字符转义)
  20. 接口开发-集成接口文档(swagger)

热门文章

  1. H3C CIDR
  2. Java动态编译优化——提升编译速度(N倍)
  3. H3C 聚合链路负载分担原理
  4. H3C 三种生成树协议的端口状态对比
  5. Error与Exception的区别,Java常见异常Execption总结
  6. 判断是否是ie浏览器或者edge浏览器,引入特定的css
  7. Vue学习笔记-目录结构
  8. shell截取字符串的8种方法
  9. DEVOPS技术实践_04:Jenkins参数化构建
  10. leetcode.1266访问所有点的最小时间