2 回答

TA貢獻1995條經(jīng)驗 獲得超2個贊
不,PermissionsMixin是模型PermissionRequiredMixin的混合,是混合視圖的混合。
我想知道是否PermissionsMixin具有與PermissionRequiredMixin.
這些不是函數(shù),而是類。這PermissionsMixin是模型的混合。
在PermissionsMixin[Django的DOC]是Django模型一個mixin。如果添加混入到您的車型之一,它會添加特定于具有某些權限,如對象的字段is_superuser,groups以及user_permissions。它還提供了一組實用方法來檢查具有此 mixin 的模型是否具有給定的權限(例如使用has_perm[Django-doc]。一個典型的子類化此 mixin 的User模型是模型 [Django-doc]。
另一方面,PermissionRequiredMixin[Django-doc] mixin 是一個 mixin,它提供了一種方便的方法來檢查登錄的用戶是否具有所需的權限。例如:
from django.contrib.auth.mixins import PermissionRequiredMixin
class MyView(PermissionRequiredMixin, View):
permission_required = ('polls.can_open', 'polls.can_edit')
因此View,我們在這里定義了一個,但只有具有這些權限的用戶才能訪問該視圖。
這個 mixin 實現(xiàn)了一個get_permission_required()方法,該方法生成一個可迭代的檢查權限,以及一個has_permission()檢查用戶是否具有這些權限的方法。您可以覆蓋這些方法,例如,如果權限是動態(tài)的(例如取決于數(shù)據(jù)庫中的數(shù)據(jù))。
添加回答
舉報