from functools import wraps # adapt if you need python 2.4 support
from django.contrib.auth import REDIRECT_FIELD_NAME
from django.contrib.auth.views import login
def login_required(view_callable):
def check_login(request, *args, **kwargs):
if request.user.is_authenticated():
return view_callable(request, *args, **kwargs)
assert hasattr(request, 'session'), "Session middleware needed."
login_kwargs = {
'extra_context': {
REDIRECT_FIELD_NAME: request.get_full_path(),
},
}
return login(request, **login_kwargs)
return wraps(view_callable)(check_login)
Comments