Как изменить постоянную ссылку на место, куда я перенаправляю в Django? - PullRequest
2 голосов
/ 08 ноября 2011

Когда пользователь входит в приложение Django, как мне изменить URL-адрес страницы, которая появляется после входа в систему? В настоящее время у меня есть следующий вид:

def users_login(request):
  username = request.POST['username']
  password = request.POST['password']
  user = authenticate(username=username, password=password)
  if user is not None:
    login(request, user)
    return HttpResponseRedirect("/start/")

Я утверждаю, что приложение должно перенаправлять на domain.com/start/, но, к сожалению, это не так. Вместо этого он переходит к домену / имени входа /, который является местоположением в атрибуте действия формы входа в систему.

Когда у меня есть следующий код на мой взгляд:

return redirect('http://www.google.com/')

Я получаю ошибку. Я не понимаю почему. Это происходит только с формами. После того как пользователь отправляет форму, URL-адрес остается в URL-адресе атрибута действия, даже если соответствующее представление имеет перенаправление на статическую страницу.

Ответы [ 2 ]

2 голосов
/ 08 ноября 2011

Просто добавьте эту строку в ваши settings.py:

LOGIN_REDIRECT_URL = '/start/'
1 голос
/ 08 ноября 2011

Евгений Солдатов прав,

LOGIN_REDIRECT_URL = '/start'

, но вы должны использовать встроенный вид входа в систему , чтобы заставить его работать (вы должны использовать его в любом случае).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...