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
- find even number by Rajeev529 2 weeks, 3 days ago
- Form field with fixed value by roam 1 month, 1 week ago
- New Snippet! by Antoliny0919 1 month, 2 weeks ago
- Add Toggle Switch Widget to Django Forms by OgliariNatan 4 months ago
- get_object_or_none by azwdevops 7 months, 3 weeks ago
Comments
Please login first before commenting.