Вы можете создать миксин для этой цели.Если вы используете функциональные представления, то функциональный декоратор может сделать то же самое, в то время как вы можете использовать миксины для представлений на основе классов.
Для понимания, вот пример:
mixin
class IsPermittedMixin(object):
def dispatch(self, request, *args, **kwargs):
if request.user.is_authenticated():
//check the permission of the user
return super(IsPermittedMixin, self).dispatch(request, *args, **kwargs)
raise PermissionDenied()
views
В ваших представлениях вы можете использовать этот миксин как:
class EditBlog(IsPermittedMixin, View):
//do something