所以我創建了我的網站,它使用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,所以我沒有訪問權限,但他向我保證,我不必擔心未來的差異。 –