设置一个中间件

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里面配置。