建立乙個mymiddleware.py
def ******_middleware
(get_response)
: # 中介軟體工廠, 生成乙個中介軟體
# get_response
# 此處編寫的**僅在django第一次配置和初始化的時候執行一次。
# print
('1,初始化中介軟體了....'
) def middleware
(request)
: # 此處編寫的**會在每個請求處理檢視前被呼叫。
print
('1.處理request前'
) request.abc =
123try
: response =
get_response
(request)
except:
pass
print
('1.處理request後, 拿到了response'
) response.status_code =
222 # 此處編寫的**會在每個請求處理檢視之後被呼叫。
return response
return middleware
def ******_middleware2
(get_response)
: # 此處編寫的**僅在django第一次配置和初始化的時候執行一次。
print
('2.初始化中間了....'
) def middleware
(request)
: # 此處編寫的**會在每個請求處理檢視前被呼叫。
print
('2.處理request前'
) response =
get_response
(request)
print
('2.處理request後, 拿到了response'
) # 此處編寫的**會在每個請求處理檢視之後被呼叫。
return response
return middleware
註冊到 settings.pymiddleware=[
,,]
到檢視view寫
def my_decorator
(func)
:(request,
*args,
**kwargs)
:print
('自定義裝飾器被呼叫了'
)print
('請求路徑%s'
% request.path)
return
func
(request,
*args,
**kwargs)
# @method_decorator
(my_decorator, name=
'get'
) # 正常
# @method_decorator
(my_decorator, name=
'dispatch'
) # 正常, 也可以給 view 方法加裝飾器
# @method_decorator
(my_decorator) # 錯誤
class
indexview
(view)
: def get
(self, request)
: # 處理get請求
('類檢視, 處理get請求'
('類檢視, 處理post請求'
('類檢視, 處理put請求'
('類檢視, 處理delete請求'
)
laravel 自定義中介軟體
關於中介軟體的理解 最好將中介軟體想象為一系列的 層 http 請求必須經過它們才會觸發您的應用程式。每一層都可以檢測接收的請求,甚至可以完全拒絕請求訪問您的應用。1.建立中介軟體php artisan make middleware checkage 3.為路由指定中介軟體 route get f...
scrapy中介軟體自定義
二 定義動態proxy中介軟體 在middlewares.py檔案中,編寫useragentmiddlerware中介軟體,可以隨機動態設定user agent from fake useragent import useragent 自定義動態user agent中介軟體 class userag...
Django自定義中介軟體
自定義中介軟體類 到達檢視函式前 返回值none,繼續 返回值為response,倒序執行中介軟體 return none defprocess view self,request,view func,view args,view kwargs 返回none,繼續 返回response,倒序執行中介...