django 權限管理菜單(django用戶權限管理)
2023-10-21 07:56:59 2
django 權限管理菜單?一. django用戶、權限存儲在django.contrib.auth.models 導入命令:,今天小編就來聊一聊關於django 權限管理菜單?接下來我們就一起去研究一下吧!

django 權限管理菜單
一. django用戶、權限存儲在django.contrib.auth.models 導入命令:
from django.contrib.auth.models import Users, Permission
二.在模型中創建權限,即在模型元類中定義屬性permissions
class model1(models.Model): ...... class Meta: permissions = ( ('can_read_model1', '可以閱讀模型1'), )
三. 在視圖中操作Permission創建權限
#導入權限模型from django.contrib.auth.models import Permission#導入權限對應的內容類型模型from django.contrib.contenttypes.models import ContentType#導入需要創建權限的模型from ddgj.models import DD#導入視圖函數響應函數from django.http import HttpResponse#定義視圖函數def view1(request): #在ContentType模型中查找DD模型的ID dd_content_type = ContentType.objects.get_for_model(DD) #在Permission中為DD模型創建權限 Permission.objects.create( codename='can_see_order', name='可以查看個人訂單', content_type=dd ) return HttpResponse("訂單模型'可查看個人訂單創建成功")
四. 權限創建成功後,即可在後臺管理admin中的用戶模型中為用戶添加權限了。
五. 獲取用戶的所有權限
request.user.get_all_permissions
六. 判斷用戶是否擁有某種權限
request.user.has_perm('ddgj.add_dd) #當前登錄用戶是否有ddgj應用中"add_dd"權限
七. 利用裝飾器快捷對用戶進行權限檢驗
# 導入權限檢驗裝飾器函數from django.contrib.auth.decorators import permission_required#應用裝飾器@permission_required('ddgj.can_see_orde', login_url='/')def view1(models.Model): pass
,