如何在Django中获得以下粒度URL控件?

时间:2013-05-16 09:35:39

标签: django

当我的用户登录时,我将表单发布到:

mydomain.com/login

如果登录失败,我希望使用以下代码显示带有错误消息的首页:

return render(request, 'mysite/index.html', {'loginError': True})

正面显示正确,但浏览器寻址栏显示:

mydomain.com/login

如何让地址栏显示简单:

mydomain.com

2 个答案:

答案 0 :(得分:3)

使用redirect并使主页控制器接收标志作为参数。

return redirect('/', loginError=True)

另外,请考虑使用messages和/或Django身份验证模块。

答案 1 :(得分:0)

当POST失败时,将重定向发送回您想要的任何页面。这意味着你需要一些标题来说“我在这里,因为我被重定向,因为这样的”。

(对不起,我的答案不是特定于Django。我确信框架提供了一些方法来使我刚才描述的技巧无痛苦地工作。)