根據https://stackoverflow.com/a/8715790/210481中的一條評論,我同意,如果一個依賴於其他裝飾器,我們應該避免使用多個裝飾器。Django:在其他裝飾器中重新使用login_required裝飾器
所以,在這個例子中,如果我們有一個裝飾器「active_required」用於活動用戶,我們不應該在同一個視圖上同時使用active_required和login_required。
我們應該有「login_required」裝飾器「調用」在「active_required」之內。
是否有可能使用django附帶的標準「login_required」裝飾器來完成它?
我的要求是: 1)如果用戶沒有通過驗證,我應該重定向他LOGIN_URL 2)如果用戶進行身份驗證(通過login_required),但不活躍,我要他重定向到一個頁面「重新激活」,他的帳戶 3)如果用戶進行身份驗證並激活,用戶可以訪問視圖提前
感謝
因爲你想在3個可能的情況下有不同的行爲,有兩個裝飾看起來不錯 – second 2012-03-01 19:11:29
正如我所說的,你只想用一個裝飾器而不是兩個做兩個不同的測試? – sergzach 2012-03-01 19:27:48
我想要2個不同的行爲,但一個取決於另一個。 @ChrisPratt,當我想到這件事時,我在看你的評論。只有用戶名和密碼匹配時,標準登錄功能纔會檢查「活動」標誌。我可以考慮其他例子:在我的網站中,用戶可以創建列表,只有列表的所有者可以編輯列表,因此我需要檢查用戶是否已登錄,以及它是否爲列表的所有者。這只是另一個例子。 – duduklein 2012-03-01 20:42:41