Skip to content

@dstufft /mixins.py
Created

Embed URL

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Login Required Decorator
from django.conf import settings
from django.http import HttpResponseRedirect
class LoginRequired(object):
def dispatch(self, request, *args, **kwargs):
if self.check_logged_in(request.user):
return super(LoginRequired, self).dispatch(request, *args, **kwargs)
else:
return self.not_logged_in(self):
def check_logged_in(self, user):
return user.is_authenticated()
def not_logged_in(self):
return HttpResponseRedirect(settings.LOGIN_URL)
## No Special Behavior, just Login Required
class ProtectedView(LoginRequired, TemplateView):
template_name = "secret.html"
## Check to make sure the user is active and logged in
class ProtectedView(LoginRequired, TemplateView):
template_name = "secret.html"
def check_logged_in(self, user):
return super(ProtectedView, self).check_logged_in(user) and user.is_active
## Check Logged in, and return a 403
class ProtectedView(LoginRequired, TemplateView):
template_name = "secret.html"
def not_logged_in(self):
return HttpResponseForbidden()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.