我最近使用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