
文章圖片

文章圖片

文章圖片
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中的{改為[
即可 。
相關經驗推薦
- playstation5|PS5固態省錢甄選,性能超原裝固態,KP260 PRO表現如何?
- vivo NEX|春節過后要來的8款新機,有的已經正式入網,有的參數也已詳細!
- 努比亞|小米雷軍超大杯2022款成為米粉最新搶購目標,二手平臺叫價千元!
- 小米科技|小米12系列可能沒有超大杯,網友:小米12 Ultra改名MIX 5?
- Win10|麒麟9000超過驍龍8Gen1,mate40 Pro又有貨了,年末華為再發力
- 鍵盤|單價超3億美元!Intel拿下首批二代High-NA光刻機,2nm將搶先量產
- 格力電器|新“空調之王”誕生!市值超5000億,當了25年冠軍的格力敗了
- 榮耀|京東超級體東南首店要來南昌了!就在這里!
- 努比亞|驍龍8gen1+5000毫安,超高配置新機曝光,會是新一代機皇嗎?
- 芯片|AI芯天下丨日經:三星2021年半導體超越英特爾 成最大芯片銷售商
