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