Django許可權管理測試

2022-03-10 02:11:57 字數 2751 閱讀 1206

測試內容:當我單擊登入頁面登入的時候頁面會彈出當前使用者的個人資訊

當我點選提交的時候可以看到我當前使用者的所有許可權:

測試成功,接下來看一下後台的簡單**:

class

user(models.model):

'''使用者資訊表,與角色多對多(role)

'''username = models.charfield(max_length=32,verbose_name="

使用者名稱"

) password = models.charfield(max_length=32,verbose_name="密碼"

) email = models.charfield(max_length=32,verbose_name="郵箱"

) roles = models.manytomanyfield(to="

role

",related_name="

user_role

",verbose_name="

具有的角色

",blank=true)

class

meta:

verbose_name_plural = "

使用者表"

def__str__

(self):

return

self.username

class

role(models.model):

'''角色表,和許可權表多對多(permission)

'''title = models.charfield(max_length=32,verbose_name="

角色名"

) permission = models.manytomanyfield(to="

permission

",verbose_name="

具有的所有許可權

",related_name="

role_permission

",blank=true)

class

meta:

verbose_name_plural = "

角色表"

def__str__

(self):

return

self.title

class

permission(models.model):

'''許可權表,與使用者資訊表多對多(user)

'''url = models.charfield(max_length=32,verbose_name="

含正則的url")

title = models.charfield(max_length=32,verbose_name="標題"

) is_menu = models.booleanfield(verbose_name="

是否是選單")

class

meta:

verbose_name = "

許可權表"

獲得當前使用者的名字

role_list = user.roles.all().values_list("

title

") #

通過user的外來鍵獲取到當前使用者的角色

permission_list = user.roles.values_list("

permission__title

").distinct() #

通過雙下劃線查詢到許可權,必須去重,否則會重複

滾你大爺的蛋蛋...

")

views檢視

前端頁面就不看了,測試效果如上,每個使用者登入之後都可以看到他的角色和相應的許可權

django許可權管理rbac

動態選單 基於角色分配 rbac role based access control 最基本基於角色分配表 角色表 user 使用者表 role 使用者分配角色 user2role 許可表 permission 操作表 增刪改查 action 許可權表 permission2action 角色分配許...

mysql測試許可權 Django測試MySQL許可權

我正在學習django教程,我遇到了一些麻煩,因為我使用mysql作為資料庫。在 當我跑的時候python manage.py test polls 我明白了 這是我的設定.py在databases default engine django.db.backends.mysql add postgr...

Django中session進行許可權管理的使用

目錄 當session啟用後,傳遞給檢視request引數的httprequest物件將包含乙個session屬性,就像乙個字典物件一樣。你可以在django的任何地方讀寫request.session屬性,或者多次編輯使用它。這個檔案在我的c users 17764530215 test mysi...