最初我通過is_superuser標誌限制了所有用戶的權限,並且我使用@user_passes_test(lambda u: u.is_superuser)
decorator.Now我沒有使用is_superuser標誌,而是在UserProfile模型中創建了一個名爲is_admin_user的字段,並允許權限取決於UserProfile模型中的標誌。django user_passes_test裝飾者is_superuser
如果設置了is_admin_user標誌,他可以訪問應用程序設置頁面,否則無法訪問設置頁面。使用is_admin_user標誌創建配置文件時,默認的django is_superuser標誌設置爲false。由於我使用的是裝飾我無法訪問設置頁面。如果我點擊設置頁面,它重定向到登錄頁面。
1.是否可以爲is_admin_user創建任何其他自定義事件。
2.如果我評論此行@user_passes_test(lambda u: u.is_superuser)
,能夠移動到設置頁面。
需要建議。
+1爲我提供一個answer.Is可以設置這個裝飾爲用戶配置模型兩個領域是這樣,1。@ user_passes_test(lambda u:u.userprofile.is_admin_user)和2. @ user_passes_test(lambda u:u.userprofile.is_primary_user)。兩者都是布爾型字段兩個值都不存在。我試着用兩條線之後,它不會訪問設置頁面的時間。如果我點擊設置,它需要我登錄頁面。任何建議。 – Royal
您想要@user_passes_test(lambda u:u.userprofile.is_admin_user或u.userprofile.is_primary_user)? – ilvar
是的,它正在工作。謝謝 – Royal