当我点击激活链接http://127.0.0.1:8000/core/auth/activate/aoisdoaisdoaisdoiaj/时,我被带到一个activation_failed页面,上面写着- The activation key you provided is invalid。但我在数据库里的账号也被激活了。
如果帐户正在被激活,这意味着激活成功,那么为什么django-注册会重定向到失败的页面?谢谢
发布于 2020-04-25 11:49:59
在django-registration/backends/activation/urls.py中有两个url2,这对于像我这样的姜戈菜鸟来说是很难理解的:让我们按照下面的顺序分别叫它们url1和url2。
"activate/complete/""activate/<str:activation_key>/"它们在原始urls.py中有策略地排序。但是因为我重写了ActivationView类,所以我不得不重写url2 "activate/<str:activation_key>/"。这改变了最初的顺序,django开始在url1之前寻找url2。正如您所看到的,任何/activate/xyz/格式的url都可以限定为url2。因此,/activate/complete/在url2中也称为视图。
解决方案:将url1的名称更改为类似activation/complete/的名称,一切都会正常工作
这就是说
发布于 2020-09-16 02:49:57
您将被重定向至activation/complete/,而您的自定义激活网址正在捕获此网址。要恢复内置行为,请在自定义激活URL上方添加URL模式,如下所示:
path("activate/complete/",
TemplateView.as_view(template_name="django_registration/activation_complete.html"),
name="django_registration_activation_complete")https://stackoverflow.com/questions/61419472
复制相似问题