我最近使用Fabric爲我的Django項目設置了部署解決方案。基本的工作流程如下:從具有不同頂級文件夾名稱的Django項目導入
- 查看服務器上git的最新源代碼。
- 將其複製到'releases'目錄並將時間戳添加到目錄名稱。
- 更新'當前'符號鏈接指向最新版本。
這一切正常,唯一的問題是,由於頂層目錄下有一個名爲「當前」符號鏈接並指向像「project_name_2010_10_04」一個文件夾中所有以下import語句將失敗:
from project_name.app import models
...
INSTALLED_APPS = (
'project_name.app'
)
...
urlpatterns = patterns('',
(r'^$', 'project_name.app.views.index'),
)
所以我找到的解決方案是在我的項目中刪除對'project_name'的每個單引用,並且該應用似乎部署並工作得很好(現在)。但這似乎不是解決問題的正確方法......主要是因爲在新創建的Django項目中,'urls.py','settings.py'默認引用了項目名稱,還有各種Django文檔提及使用項目名稱來處理各種事情。
因此,總結我的問題,有沒有辦法指定一個不同於實際目錄名稱的包名?
我想你應該可以導入'從app'開始。應用程序意味着可重用,將它們與任何一個項目綁定都沒有意義。 – 2010-10-05 17:05:19