django 權限管理菜單?一. django用戶、權限存儲在django.contrib.auth.models 導入命令:,今天小編就來聊一聊關于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
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!