Skip to content

Mixins

In this video, we are going to learn the concepts of mixins in django.

  • Mixins are used to add or modify the behaviour of class based views.

  • They are similar to decorators but internally they are implemented using multiple inheritance in Python.

  • In short, you will use decorators for function based views and mixins for class based views.

Adding mixins in Storage Views

  • Open your views.py file of center.

  • Now, import the mixins called Login Required Mixin and Permission Required Mixin.

from django.contrib.auth.mixins import LoginRequiredMixin, PermissionRequiredMixin
  • In the last video, we used method decorator to use login required and permission required decorator in class based view but this time, we will use mixin to apply same type of behaviour.
class StorageList(LoginRequiredMixin, generic.ListView):

class StorageDetail(LoginRequiredMixin, generic.DetailView):

class CreateStorage(LoginRequiredMixin, PermissionRequiredMixin, SuccessMessageMixin, generic.CreateView):
    permission_required = ("center.add_storage",)

class StorageUpdate(LoginRequiredMixin, PermissionRequiredMixin, SuccessMessageMixin, generic.UpdateView):
    permission_required = ("center.change_storage",)

class StorageDelete(LoginRequiredMixin, PermissionRequiredMixin, SuccessMessageMixin, generic.DeleteView):
    permission_required = ("center.delete_storage",)