如何在settings.py中使用“user.username”

时间:2011-02-22 05:54:17

标签: django

成功登录后,我的URL转发有问题。

'LOGIN_REDIRECT_URL'的django默认值为'/ accounts / profile /'。在我的情况下,它应该转发到'/ user / {{user.username}} /'

我在我的设置文件中覆盖它但遇到了语法问题。这是代码:

LOGIN_REDIRECT_URL = "/user/%s/" % user.username

当我在登录表单中使用以下行时,它可以正常工作,但仅限于首先重新加载页面。有点奇怪。

<input type="hidden" name="user" value="/user/{{ user.username }}/" />

那么我必须对settings.py进行哪些更改才能在重定向上加载用户名?

感谢。

2 个答案:

答案 0 :(得分:0)

当然有一个语法问题,你在那里不存在的settings.py中引用了一个变量user。它可能会帮助您通过Python教程来理解Python的范围规则。

在任何情况下,settings.py都适用于静态全局设置。用户名明显因用户而异,因此您无法在其中设置动态设置。

答案 1 :(得分:0)

您可能想要创建自定义登录,并使用django user authentication中描述的视图。

当然覆盖/ accounts / profile /指向的视图并手动设置重定向网址有一个选项,但它不是一个非常优雅的解决方案。