中間件|超詳細!django中間件用法以及實例操作

中間件|超詳細!django中間件用法以及實例操作

文章圖片

中間件|超詳細!django中間件用法以及實例操作

文章圖片

中間件|超詳細!django中間件用法以及實例操作

文章圖片


1.什么之django中間件?
Django中的中間件是一個輕量級、底層的插件系統 , 可以介入Django的請求和響應處理過程 , 修改Django的輸入或輸出 。 中間件的設計為開發者提供了一種無侵入式的開發方式 , 增強了Django框架的健壯性 。
我們可以使用中間件 , 在Django處理視圖的不同階段對輸入或輸出進行干預 。
2.django中間件的作用是什么?
如果想要修改HttpRequest或者HttpResponse , 就可以通過中間件來實現 。
·登陸認證:在中間件中加入登陸認證 , 所有請求就自動擁有登陸認證 , 如果需要放開部分路由 , 只需要特殊處理就可以了 。
·流量統計:可以針對一些渲染頁面統計訪問流量 。
·惡意請求攔截:統計IP請求次數 , 可以進行頻次限制或者封禁IP 。
【中間件|超詳細!django中間件用法以及實例操作】3.django中間件怎么設置
1)在當前根目錄文件夾下新建一個文件夾名為middleware

2)新建兩個py文件分別是__init__.py和mymiddleware.py文件

3)在mymiddleware.py文件中設置中間件:
第一步 , 引入中間件的方法

第二步 , 定義中間件方法(其中None或者沒有寫return返回值代表不攔截 , 否則代表攔截):
①process_request (self , request)
執行路由之前被調用 , 在每個請求上調用 ,返回None或HttpResponse對象
②process_view (self , request , callback , callback_args ,
callback_kwargs)
調用視圖之前被調用 , 在每個請求上調用 ,返回None或HttpResponse對象
③process_response (self , request , response)
所有響應返回瀏覽器被調用 , 在每個請求上調用 , 返回HttpResponse對象

4)在setting.py中設置middleware進行注冊:

注意事項 , 如果出現以下錯誤提示 , 將setting.py中的{改為[
即可 。

    相關經驗推薦