Simple decorator that checks for authentication and activation of account and redirect to login or activation page if needed
Your ulrsconf file must have named urls with parameters that you call that decorator
Dont forget to import reverse function from django.core.urlresolvers import reverse
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | def activation_required(login='login', activation='activation'):
"""
Redirect user to:
- login page if not authenticated
- activation page if not activated
examples:
@activation_required('login-page', 'activation-page')
def something(..):
pass
"""
def decorator(func):
def wrapper(request, *args, **kw):
if not request.user.is_authenticated():
return HttpResponseRedirect(reverse(login))
elif not request.user.is_active:
return HttpResponseRedirect(reverse(activation))
return func(request, *args, **kw)
return wrapper
return decorator
|
More like this
- Template tag - list punctuation for a list of items by shapiromatron 11 months, 1 week ago
- JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 11 months, 2 weeks ago
- Serializer factory with Django Rest Framework by julio 1 year, 6 months ago
- Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 6 months ago
- Help text hyperlinks by sa2812 1 year, 7 months ago
Comments
Please login first before commenting.