Reusable, generic mixins for Django
six
to remove an external dependency.MultipleGroupRequiredMixin
and GroupRequiredMixin
.OrderableListView
.SuccessURLRedirectListMixin
.PermissionsRequiredMixin
and MultiplePermissionsRequiredMixin
.user_passes_test
decorator.SSLRequiredMixin
. Redirect http -> https.RecentLoginRequiredMixin
to require user sessions to have a given freshness.resolve_url
to handle LOGIN_REDIRECT_URL
s in settings.py
that are just URL names.JSONResponseMixin
to allow setting a custom JSON encoder class.LoginRequiredMixin
so it's possible to redirect unauthenticated users while
using AccessMixin
-derived mixins instead of throwing an exception.views.py
out into multiple files since it was approaching 1000 LoC.SetHeadlineMixin
now accepts headline
with ugettext_lazy()
-wrapped strings.JSONResponseMixin
would override the content_type
of Django's TemplateView
in Django 1.6.PermissionRequiredMixin
where if PermissionRequiredMixin.no_permissions_fail
returned a false-y value, the user lacking the permission would pass instead of being denied access.MessageMixin
to allow easier access to Django's contrib.messages
messages. FormValidMessageMixin
and FormInvalidMessageMixin
were updated to use it.CanonicalSlugDetailMixin
to allow it to use custom URL kwargs.GroupRequiredMixin
where superusers were blocked by lack of group memberships.GroupRequiredMixin
which now correctly checks for group membership against a list.StaticContextMixin
mixin which lets you pass in static_context
as a property of the view.AnonymousRequiredMixin
which redirects authenticated users to another view.AllVerbsMixin
which allows a single method to response to all HTTP verbs.JSONRequestResponseMixin
as a mirror of JsonRequestResponseMixin
because we're not PHP.FormValidMessageMixin
, FormInvalidMessageMixin
, and FormMessagesMixin
all allow ugettext_lazy
-wrapped strings.PermissionRequiredMixin
and MultiplePermissionsRequiredMixin
to accept django-guardian-style custom/object permissions.