2012-12-09 72 views
1

我正在製作一個簡單的Django站點,爲此我使用了django-registration擴展。我應該補充一點,我剛剛將django註冊源複製到我的項目中,就好像它是我自己的應用程序一樣 - 我正在與其他人一起做網站,並且我們的django環境配置不同,但我們通過共享網站的代碼svn - 我不希望我們每個人分別安裝django註冊。Django URLconf包括:包導入不起作用

在根urls.py文件我有:

import registration 
... 
urlpatterns = (
    ... 
    url(r'^accounts/',include(registration.backends.default.urls), 
) 

「後臺」和「默認」是登記APP裏面包。

在集錦中,代碼檢查錯誤消息指出:「來自導入未定義的變量:後端」 在我的測試服務器的調試模式中的錯誤是「‘模塊’對象有沒有屬性‘後臺’」

如果我做from registration import backendsinclude(backends.default.urls),找不到'默認'。

當我做from registration.backends import default和​​3210,但我不想做這種方式,因爲我將無法快速看到它鏈接到它的工作原理...

爲什麼沒有環境正確加載包?在同一個文件中,我使用其他URLconf包含路徑包含軟件包名稱,如include(django.contrib.admin),這些都沒有問題。是否因爲我複製了註冊源而不是安裝應用程序?如果是這樣,那麼有什麼正確的方法可以提供所需的源代碼可移植性?

回答

1

嘗試指定註冊的URL路徑作爲一個字符串,而不是在你的urls.py導入註冊模塊:

url(r'^accounts/',include('registration.backends.default.urls'), 
+0

這個固定的問題,謝謝!呃,還需要了解django更多... :) – mz8i