Django的注册。发送的激活链接缺少我的应用名称

时间:2012-11-26 18:06:20

标签: python django django-registration

我对django-registration模块存在疑问。当用户尝试注册时,他在电子邮件中收到的激活链接不正确。我的意思是,要使链接生效,我必须在域名后面手动添加我的应用程序名称。

让我用一个例子解释一下:

这是主要的页面网址(请注意“HELLOPROJECT”): http://127.0.0.1:8000/HELLOPROJECT/index

这是注册网址(注意“HELLOPROJECT”): http://127.0.0.1:8000/HELLOPROJECT/accounts/register/

这是电子邮件中发送的激活网址(注意没有“HELLOPROJECT”):     http://127.0.0.1:8000/accounts/activate/3a97ec229308b0112cb6e1ef16f8ab32df667b9c/

如果单击上面的链接,则会发生错误。我必须手动添加“HELLOPROJECT”才能使链接正常工作并注册用户。

那么,为什么会这样呢?我该如何解决?

1 个答案:

答案 0 :(得分:4)

激活电子邮件模板包含

{{site}}/accounts/activate/{{ activation_key }}/

首先确保您拥有正确的注册模板副本。然后确保SITE_ID中的settings.py与您创建的site相匹配。 djangoproject.com网站可能是默认网站,其ID为1.如果您修改了网站名称以匹配您的网站,则ID将保持不变,如果您添加新ID,则找到新ID并设置{{1}那个。

网站

  

表示用户注册的站点的对象;   根据是否安装了django.contrib.sites,这可能是一个   django.contrib.sites.models.Site的实例(如果是网站   已安装应用程序)或django.contrib.sites.models.RequestSite   (如果不)。请参阅Django站点框架的文档   有关这些对象界面的详细信息