3

我遇到了 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”以使链接正常工作并注册用户。

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

4

1 回答 1

5

激活电子邮件模板包括

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

首先确保您的注册模板副本正确无误。然后确保您的SITE_IDinsettings.pysite您创建的匹配。该djangoproject.com站点可能是默认的,并且具有 id 1。如果您编辑它的名称以匹配您的站点,则 id 将保持不变,如果您添加一个新的,找到新的 id 并将您的设置SITE_ID为那个。

地点

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

于 2012-11-26T19:05:44.227 回答