在django處理的請求的各個處理階段,可以插入自己的邏輯
介於request與response處理之間的一道處理過程、輕量級
在全域性上改變django的輸入、輸出
從瀏覽器發出乙個請求requset,得到乙個響應後的內容httpresponse
每乙個請求都是先通過中介軟體中的process_requset函式
如果proocess_request函式返回none,繼續處理其他中介軟體
如果返回乙個httpresponse,就處理中止,返回網頁
***如果有人惡意訪問**,可以將他的ip加入黑名單
通常自定義的中介軟體放在最下面,
自帶的中介軟體順序不可倒置,上下可能存在依賴關係
1,在工程目錄下建立middleware目錄
2,在目錄中建立乙個python檔案
3,在python檔案中匯入中介軟體的基類
4,在類中根據功能需求,建立切入需求類,重寫切入點方法
from django.shortcuts import render
from django.utils.deprecation import middlewaremixin
class mymiddleware(middlewaremixin):
def process_request(self,req):
white_ips = [
'10.3.133.30',
.......
]if ip in white_ips:
return render(req,'home.html',)
5,啟用中介軟體,在settings中進行配置,middleware中新增middleware.檔名.類名
此方法用於在請求到來時處理請求
process_view
在本次將要執行view函式被呼叫前處理請求
process_template_response
在檢視view剛好執行完畢之後呼叫
process_exception
在view函式丟擲異常的時候被呼叫
process_response
在執行完view函式準備傳送響應到客戶端之前呼叫
JMeter學習(十)關聯
話說loadrunner有的一些功能,比如 引數化 檢查點 集合點 關聯,jmeter也都有這些功能,只是功能可能稍弱一些,今天就關聯來講解一下。jmeter的關聯方法有兩種 後置處理器 正規表示式提取器與xpath extractor。第一種方法 正規表示式提取器 在需要獲得資料的上乙個請求上右擊...
c Primer筆記(十 關聯容器)
第十章 關聯容器。set map multimap multiset 鍵是唯讀的,試圖修改只有出錯的份 1.關聯容器和順序容器的本質差別在於 關聯容器通過key鍵儲存和讀取元素,而順序容器則通過元素在容器中的位置順序儲存和訪問元素。2.set僅僅包含乙個鍵,並有效的支援關於某個鍵是否存在的查詢。即儲...
objective c 十 關於巨集的使用
在objective c中,有一種類似於jsp小指令碼的東西,叫做巨集。這種東西實際上就是在編譯是才對實際使用的值與物件進行確認,主要針對的是編譯過程。預編譯的乙個使用是 define 巨集名稱 值 在以上是定義乙個類似於記憶體的東西。巨集名稱是自定義的。可以等同於變數名,有不成文的約定是使用全部大...