Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » не работает HttpResponseRedirect('/login/?next=%s' % request.path) [RSS Feed]

#1 Янв. 28, 2010 17:46:22

fanat1k
От:
Зарегистрирован: 2010-01-28
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

не работает HttpResponseRedirect('/login/?next=%s' % request.path)

Упрощенный вариант функции логина:

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() - результат тот же.
Подскажите пожалуйста что не так или куда копать.
Спасибо.



Офлайн

#2 Янв. 28, 2010 17:55:54

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2267
Репутация: +  41  -
Профиль   Отправить e-mail  

не работает HttpResponseRedirect('/login/?next=%s' % request.path)

если ты логинишь не через django.contrib.auth.views.login , то тебе никто ничего не должен ;)

Офлайн

#3 Янв. 28, 2010 18:10:01

fanat1k
От:
Зарегистрирован: 2010-01-28
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

не работает HttpResponseRedirect('/login/?next=%s' % request.path)

Спасибо за оперативный ответ. Проверил - работает :)



Офлайн

  • Начало
  • » Django
  • » не работает HttpResponseRedirect('/login/?next=%s' % request.path)[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version