Login

activation_required

Author:
offline
Posted:
June 27, 2008
Language:
Python
Version:
.96
Tags:
decorator auth
Score:
-1 (after 3 ratings)

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

  1. Using URLs for highlighting sections in menu by diverman 5 years ago
  2. lazy url reverse() by guettli 7 years, 8 months ago
  3. View Redirect Decorators by bryanpieper 5 years, 1 month ago
  4. Using reverse with success_url in class based generic views by cdejan 4 years, 3 months ago
  5. Decorator to modify reverse() to render SSL urls by AndrewIngram 6 years, 4 months ago

Comments

Please login first before commenting.