我对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”才能使链接正常工作并注册用户。
那么,为什么会这样呢?我该如何解决?
答案 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站点框架的文档 有关这些对象界面的详细信息