Действие auth.login()
само обрабатывает перенаправление после входа в систему, поэтому перенаправление уже произойдет до того, как будет запущена следующая строка в коде вашего контроллера.
Как описано здесь, где у вас есть настройки Auth
, вы можете добавить:
auth.settings.login_next = URL('default', 'page_1')
Обратите внимание, что этот параметр является только URL-адресом перенаправления после входа в систему по умолчанию (т. е. если пользователь переходит непосредственно на URL-адрес входа). Однако, если пользователь перенаправлен на страницу входа с другой страницы или переходит на страницу входа через ссылки auth.navbar()
по умолчанию, URL-адрес будет включать параметр _next
, ссылающийся на исходную страницу, и поэтому auth.login()
будет перенаправить обратно на ссылающуюся страницу (т. е. auth.login()
сначала проверяет наличие параметра _next
в URL-адресе и использует auth.settings.login_next
, только если нет параметра _next
). Если вы хотите переопределить это поведение и всегда принудительно перенаправлять на page_1
независимо от того, как пользователь попал на страницу входа, вы можете передать аргумент next
в auth.login()
:
auth.login(next=URL('default', 'page_1'))
Вышеупомянутое имеет приоритет и переопределит любой параметр _next
в URL-адресе, а также auth.settings.login_next
.