所以我创建了我的网站,它使用django-registration-0.8,但托管它的服务器使用0.7安装的服务器范围。我无法获取模块如何查找,因此我尝试下载0.8源代码并放置注册/文件夹,并将其注册到settings.py(INSTALLED_APPS)中作为注册。如何在Django中指定自定义注册应用程序而不是已安装的应用程序?
现在自定义注册应用程序(0.8)被django看到。但是,试图访问寄存器页的时候,我得到这个错误:
ImportError at /accounts/register/
No module named backends.default.urls
被称为在urls.py为:
(r'^accounts/', include('registration.backends.default.urls')),
如果我将其更改为
(r'^accounts/', include('registration.urls')),
的错误消失了,但这意味着它使用已安装的(0.7)版本。该版本的其中一个问题是激活页面不同。
检查注册应用程序文件夹我可以看到该模块存在,在注册/后端/默认/网址。所以我的结论是,服务器范围内安装的注册表(0.7)是我手动从源代码提取的注册表(0.8)之前首先查看的注册表。
所以我的问题是我如何让Django查找我安装的应用程序的0.8版本,而不是安装在服务器范围内的那个版本?我没有访问shell(使用djangofoo托管),只有manage.py和ftp。
我确实设法尝试过你的第三个选项,只是为了看看自定义应用程序是否被选中,而且是;直到它在代码中遇到对'注册'的引用,在这种情况下,它会再次检查系统范围的版本,并在此过程中抛出异常。顺便说一下,我的托管服务提供商为我解决了这个问题,在检查系统范围的安装包之前,先编辑我的WSGI文件以检查安装在我的站点上的应用程序。我搜索了一下,wsgi文件似乎被连接到Apache,所以我没有访问权限,但他向我保证,我不必担心未来的差异。 –