Проводить ли пользовательские тесты для каждого url?

У меня есть такие урлы:

in main:

path('admin/', ...),
path('forstaff/', include("myapp.urls"),
path('forusers/', include("anotherapp.urls"),

Если пользователь is_staff=True, он может получить доступ к forstaff/, если нет, он перенаправляется на `forusers/'. Я знаю, что могу сделать следующее:

class StaffRequiredMixin(LoginRequiredMixin, UserPassesTestMixin):

    def test_func(self):
        return self.request.user.is_staff

но я должен добавить этот StaffRequiredMixin в каждое представление, основанное на классе в myapp.urls, а также не могу использовать его с классами, основанными на функциях.

Есть ли способ сказать Django, чтобы он применял это "правило" к каждому представлению приложения?

Вернуться на верх