Здравствуйте.
Хочу сделать, чтоб после авторизации пользователь автоматически перенаправлялся на страницу с которой он перешел на страницу авторизации.
Аналогично сделал деавторизацию. Если пользователь находясь в каком то разделе сайта и нажмет на выход, то он остается в этом разделе.
Вот код со вьюхи.
Авторизация - редирект на главную:
def login(reguest):
args = {}
args.update(csrf(reguest))
if reguest.POST:
username = reguest.POST.get('username', '')
password = reguest.POST.get('password', '')
user = auth.authenticate(username=username, password=password)
if user is not None:
auth.login(reguest, user)
return redirect('/')
else:
args['login_error'] = 'Пользователь не найден'
return render_to_response('login.html', args)
else:
return render_to_response('login.html', args)
Деавторизация - выход:
def logout(reguest):
return_path = reguest.META.get('HTTP_REFERER','/') # При выходе с аккаунта остаемся на странице с которой вышли!
auth.logout(reguest)
return redirect(return_path)
С выходом применил return_path = reguest.META.get('HTTP_REFERER','/') и вернул редирект(return_path). Аналогично пытался сделать и авторизацией, но не получилось.
if user is not None:
return_path = reguest.META.get('HTTP_REFERER','/')
auth.login(reguest, user)
return redirect(return_path)