Проводить ли пользовательские тесты для каждого 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, чтобы он применял это "правило" к каждому представлению приложения?