[英]How to implement multiple user types with different roles and permissions in Django?
我是使用Django框架和Python編程語言進行Web開發的新手,我的任務是制作一個實現以下目標的迷你項目:
我可以采取哪些適當的步驟來完成此任務?
我已經閱讀了有關用戶身份驗證和權限以及自定義用戶模型的信息,但是給出的示例沒有我實際需要的復雜。 我必須設置一個實現多個用戶帳戶的應用程序,其中每個用戶可以具有多個角色,並且每個角色具有不同的權限。 我知道Django具有內置功能來執行此操作,但是我想盡可能地進行自己的自定義。
我想知道是否創建擴展AbstractBaseUser的自定義用戶模型是實現此目的的最佳選擇。 另外,我想知道如何自定義Django內置管理頁面,例如替換或刪除不必要的字段。
除了擴展AbstractBaseUser以外,另一種解決方法是擁有另一個模型Profile並與OneToOneField關聯,或者您可以從AbstractBaseUser繼承3個不同的用戶模型,這不是一個好主意,最好的答案是,如果默認身份驗證后端和權限不對,則擴展AbstractBaseUser。不適合您的需求結帳(他們很可能會這樣做!):
還結帳:
-更新-
並且如果您要使用其他權限組簽出:
django.contrib.auth.models.Group
模型是對用戶進行分類的通用方法,因此您可以向這些用戶應用權限或其他標簽。 用戶可以屬於任意數量的組。
組中的用戶自動擁有授予該組的權限。 例如,如果站點編輯器組具有can_edit_home_page
權限,則該組中的任何用戶都將具有該權限。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.