@blazer05

Django перенаправление после авторизации?

Здравствуйте.
Хочу сделать, чтоб после авторизации пользователь автоматически перенаправлялся на страницу с которой он перешел на страницу авторизации.
Аналогично сделал деавторизацию. Если пользователь находясь в каком то разделе сайта и нажмет на выход, то он остается в этом разделе.

Вот код со вьюхи.
Авторизация - редирект на главную:
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)
  • Вопрос задан
  • 3397 просмотров
Пригласить эксперта
Ответы на вопрос 1
mututunus
@mututunus
Backend developer (Python, Golang)
Django это умеет из коробки https://github.com/django/django/blob/master/djang...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы