Найти - Пользователи
Полная версия: не работает HttpResponseRedirect('/login/?next=%s' % request.path)
Начало » Django » не работает HttpResponseRedirect('/login/?next=%s' % request.path)
1
fanat1k
Упрощенный вариант функции логина:
def my_login(request):
if request.method == 'POST':
login_form = LoginForm(request.POST)
if login_form.is_valid():
user = authenticate(username=request.POST['username'], password=request.POST['password'])
if user is not None:
# Redirect to a success page.
login(request, user)
return HttpResponseRedirect("/") # эту строчку пробовал коментить - редирект не происходит
else:
login_form = LoginForm()

return render_to_response( 'registration/login.html',
{'form': login_form },
context_instance=RequestContext(request))
есть view:
def test_view(request):
if not request.user.is_authenticated():
return HttpResponseRedirect('/accounts/login/?next=%s' % request.path)
Темплейт: <a href='/test_view/'>test_view</a>

После клика на линку test_view в адресной строке: http://localhost:8000/accounts/login/?next=/time/, т.е. как бы все как и надо, но после ввода логин/пароль меня редиректит на мейн, а не на нужную страницу ‘/test_view’
Пробовал еще вместо if not request.user.is_authenticated() использовать декоратор @login_required() - результат тот же.
Подскажите пожалуйста что не так или куда копать.
Спасибо.
slav0nic
если ты логинишь не через django.contrib.auth.views.login , то тебе никто ничего не должен ;)
fanat1k
Спасибо за оперативный ответ. Проверил - работает :)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB