1.專案下新建乙個utils目錄,在該目錄下新建__init__.py
檔案、
userauthmiddlewre.py檔案
2.userauthmiddleware.py檔案中書寫**如下:
# 如果為下面的兩個請求不做任何處理 return可以終止函式
if request.path == '/uauth/login/' or
request.path == '/uauth/regist/':
return none
# 從cookies中找ticket
ticket = request.cookies.get('ticket')
# 判斷cookies中有沒有ticket
# 取出**users中 ticket 所在列的內容
users = users.ojects.filter(u_ticket=ticket)
# 判斷取出的內容是否有效
# 把使用者資訊存到request.user中
request.user = users[0]3.在專案下settings.py檔案中新增建立的中介軟體:
middleware=[
'utils.userauthmiddleware.authmiddleware'
]
4.此時便可以實現攔截了當你訪問時, 就會實現跳轉到上面指定的路徑 /uauth/login/ Django 中介軟體
django中的中介軟體是乙個輕量級 底層的外掛程式系統,可以介入django的請求和響應處理過程,修改django的輸入或輸出。中介軟體的執行過程如下圖所示 django在中介軟體中預置了五個方法,這五個方法的區別在於不同的階段執行,對輸入或輸出進行干預,方法如下 def init self pa...
Django中介軟體
給檢視函式加裝飾器判斷使用者是否登入,把沒有登入的請求跳轉到登入頁面,我們通過給幾個特定檢視函式加裝飾器實現了這個需求,但是這樣做比較繁瑣,用django中的中介軟體會比較簡潔 什麼是中介軟體 中介軟體是幫助我們再檢視函式執行之前和執行之後都可以做一些額外的操作,它本質上就是乙個自定義類,類中定義了...
Django中介軟體
什麼是中介軟體?django中的中介軟體是乙個輕量級 底層的外掛程式系統,可以介入django的請求和響應處理過程,修改django的輸入或輸出。中介軟體的設計為開發者提供了一種無侵入式的開發方式,增強了django框架的健壯性。我們可以使用中介軟體,在django處理檢視的不同階段對輸入或輸出進行...