Введение в миксины class-based views в Django
У view-функции доступ закрывают
декоратором, например
@login_required. У
class-based view декоратор так
не повесишь: нужен другой приём.
Миксин - небольшой класс только с проверкой («вошел ли пользователь», «есть ли право»). Его пишут первым в списке баз, а основным view - вторым:
class EmployeeListView(
LoginRequiredMixin,
ListView,
):
model = Employee
Сначала сработает миксин
(гость уйдет на логин), потом -
обычная логика ListView.
Чем миксин для класса заменяет декоратор у функции?