django的中介軟體是全域性範圍內處理django的請求和響應的框架級別的鉤子。
#定義from django.utils.deprecation importmiddlewaremixinclassmd1(middlewaremixin):defprocess_request(self,request):pass
#setting中需要註冊
五個方法
process_request(self,request):
process_response(self,request,response):
process_view(self,request,view_func,view_args,view_kwargs):
process_exception(self,request,exception):
詳細介紹:
process_request(self,request):
路由匹配之前,process_view方法前
引數:request 請求的物件 ,和後續的request都是同乙個
執行順序:
按照註冊的順序 順序 執行
返回值:
none 正常流程
httpresponse物件 當前中介軟體之後的中介軟體中的process_request、路由匹配、process_view、檢視都不執行,直接去執行當前中介軟體的process_response方法
process_response(self,request,response):
檢視之後執行
引數:request 請求的物件 ,和後續的request都是同乙個
response 返回給瀏覽器的響應物件
執行順序:
按照註冊的順序 倒序 執行
返回值:
httpresponse物件 必須返回
process_view(self,request,view_func,view_args,view_kwargs):
路由之後,檢視之前執行
引數:request 請求的物件 ,和後續的request都是同乙個
view_func 檢視函式
view_args 檢視函式所需的位置引數
view_kwargs 檢視函式所需的關鍵字引數
執行順序:
按照註冊的順序 順序 執行
返回值:
none 正常流程
httpresponse物件 當前中介軟體之後的中介軟體中的process_view、檢視都不執行,直接去執行最後乙個中介軟體的process_response方法
process_exception(self,request,exception):
執行時間(觸發條件):
檢視中有異常時才執行
引數:request 請求的物件 ,和後續的request都是同乙個
exception 異常的物件
執行順序:
按照註冊的順序 倒序 執行
返回值:
none 當前的中介軟體沒有處理異常,交於下乙個中間處理,如果所有的都沒有處理,django處理異常
httpresponse物件 當前的中介軟體處理了異常,後面要執行的process_exception方法就不執行了,執行最後乙個中介軟體的process_response方法
process_template_response(self,request,response):
執行時間(觸發條件):
檢視返回templateresponse物件
引數:request 請求的物件 ,和後續的request都是同乙個
response templateresponse物件
執行順序:
按照註冊的順序 倒序 執行
返回值:
httpresponse物件 必須返回
處理物件
response.template_name 模板的名字
response.context_data 模板渲染的變數 {}
process_template_response(self,request,response):
中介軟體 訊息中介軟體學習總結
冪等 在程式設計中.乙個冪等操作的特點是其任意多次執行所產生的影響均與一次執行的影響相同。冪等函式,或冪等方法,是指可以使用相同引數重複執行,並能獲得相同結果的函式。這些函式 不會影響系統狀態,也不用擔心重複執行會對系統造成改變。例如,getusername 和settrue 函式就是乙個冪等函式....
中介軟體作業
主要檔案的 fctrl client linux.c this is sample code generated by rpcgen.these are only templates and you can use them as a guideline for developing your ow...
ASTA中介軟體
幾年前我用mts的時候就聽說asta了,後來我們公司也搞與midas和asta類似的中介軟體tm bso,現在mts昇華到com 我們的tm由於穩定性和效率不夠也夭折了,最近乙個朋友在一家大型物流軟體公司做開發,說還在使用asta,去asta 看看,還活得很健壯,支援delphi2006 soap,...