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