【发布时间】:2011-06-22 11:33:08
【问题描述】:
我正在使用 django-registration,它以某种方式停止了应有的工作方式。我完全迷失了这一点,不知道从哪里开始寻找错误。
所以发生的情况是,每当用户点击激活链接时,他都会获得activation.html 模板。仅应在出现错误时显示。
但实际上并没有错误。用户被激活并可以登录。
对此的任何想法将不胜感激。
【问题讨论】:
标签: django django-registration
我正在使用 django-registration,它以某种方式停止了应有的工作方式。我完全迷失了这一点,不知道从哪里开始寻找错误。
所以发生的情况是,每当用户点击激活链接时,他都会获得activation.html 模板。仅应在出现错误时显示。
但实际上并没有错误。用户被激活并可以登录。
对此的任何想法将不胜感激。
【问题讨论】:
标签: django django-registration
首先,您的帖子主题与实际描述有冲突。主题说 django-registration 总是无法激活用户,但是在你的描述中你说用户被激活并且可以登录。是哪个?
其次,单击激活链接应始终将用户发送到activate.html。您将在该页面上有一个名为 account 的变量。如果激活成功,account 将填充 User 对象,否则为 False。
【讨论】:
registration/activate.html: Used if account activation fails.
0.7和0.8有很大区别:
在 0.7 中:
registration/activate.html 在用户尝试注册时显示 激活他/她的帐户。
在 0.8 内
registration/activate.html
在帐户激活失败时使用。
【讨论】:
调试registration.views.activate显示:如果success_url没有设置,
backend.post_activation_redirect 方法被调用。如果您使用默认后端,则返回一个空上下文,不包含在模板中查询的帐户变量。
解决方案可能是覆盖默认后端。
唯一的问题是您不能通过重定向将任何对象传递给视图。因此,您不能将帐户传递给模板上下文。如果愿意,您可以使用 get params 来完成。
我决定只更改激活模板并删除条件。
【讨论】: