码迷,mamicode.com
首页 > 其他好文 > 详细

跨域问题通用解决方案

时间:2018-08-31 21:16:49      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:order   __init__   nts   直接   发送   class   asa   image   contain   

设置一个中间件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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 
1
MiddlewareMixin是从源码copy过来的,自己有直接用自己的。

别忘了在setting里面配置。

技术分享图片

跨域问题通用解决方案

标签:order   __init__   nts   直接   发送   class   asa   image   contain   

原文地址:https://www.cnblogs.com/hanbowen/p/9567467.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
分享档案
周排行
mamicode.com排行更多图片
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!