Я пытаюсь перенаправить пользователя на другую страницу (по умолчанию/новости) после входа в систему (по умолчанию/индекс), но независимо от того, насколько сильно я пытался, я не смог это сделать. Я использую логин, доступный на навигационной панели.Web2Py Redirect после входа в систему
Я добавил эту строку в db.py
auth.settings.login_next=URL(r=request, c='default', f='news')
Все в контроллер по умолчанию тот же она включает в себя
def news():
message = "Welcome to News!"
return locals()
Я также попытался с этим
auth.settings.login_next=URL('news')
Это тоже не работает. Пожалуйста помоги.
Edit: После поиска в течение нескольких дней я нашел ответ here Это, как вы это делаете.
#In layout.html change
<ul id="navbar" class="nav pull-right">{{='auth' in globals() and auth.navbar(mode="dropdown") or ''}}</ul>
# to
<ul id="navbar" class="nav pull-right">{{='auth' in globals() and auth.navbar(mode="dropdown",referrer_actions=None) or ''}}</ul>
И снова изменения в db.py
#In db.py add these lines:
auth.settings.login_next = URL('news')
что работал для меня.
Спасибо вам Энтони, я попытался использовать это прямо в макете. html и index.html, все еще не удалось добиться успеха [этот поток] (http://permalink.gmane.org/gmane.comp.python.web2py/101346), где Роб обратился к этой проблеме, очень помог мне. –
Ваше правление говорит, что оно работает с 'referrer_actions = None'.Вы говорите, что это не работает, если 'referrer_actions' - это список, который * не включает * login '? Он должен работать в любом случае. – Anthony
Да, это не сработало для меня, я изменил '{{= auth.navbar (..., referrer_actions = ['news'])}}' в layout.html и не включает в себя "login" , –