2012-11-26 39 views
3

我讨厌django注册模块问题。当用户尝试注册时,他在电子邮件中收到的激活链接不正确。我的意思是,为了工作链接,我必须在域名后面手动添加我的应用程序名称。Django注册。发送的激活链接缺少我的应用程序名称

让我用一个例子来说明这一点:

这是主要的页面URL(请注意 “早安家族”): http://127.0.0.1:8000/HELLOPROJECT/index

这是注册URL(请注意 “早安家族”): http://127.0.0.1:8000/HELLOPROJECT/accounts/register/

而且这是在电子邮件中(注意有没有“早安家族”)发送的激活网址: http://127.0.0.1:8000/accounts/activate/3a97ec229308b0112cb6e1ef16f8ab32df667b9c/

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

那么,为什么会发生这种情况呢?我该如何解决它?

+0

您是使用Apache2/mod_wsgi还是运行开发服务器? – rofls

+0

@rofls,我正在使用Django的开发服务器。 – Xar

+1

根据快速入门指南,您是否需要在您的registration/activation_email.txt模板中设置站点对象?要检查,电子邮件主题中的URL是什么? – Talvalin

回答

4

激活邮件模板包括

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

首先要确保你有你的模板复制登记正确的。然后确保您的SITE_IDsettings.py与您创建的site相匹配。 djangoproject.com网站可能是默认网站,其ID为1.如果您修改了它的名称以匹配您的网站,则ID将保持不变,如果您添加了新的ID,请找到新ID并将SITE_ID设置为该ID。

站点

表示在其上用户注册的站点的对象; 取决于是否安装django.contrib.sites,这可以是django.contrib.sites.models.Site的 实例(如果网站被安装 应用程序)或django.contrib.sites.models.RequestSite (如果不)。请查阅关于Django站点框架的文档 有关这些对象的接口的详细信息

+1

谢谢Pratik。事实证明,解决我的问题包括编辑activation_email.txt – Xar

相关问题