我最近使用Fabric为我的 Django 项目设置了一个部署解决方案。基本工作流程是:
- 查看服务器上 git 的最新源代码。
- 将其复制到“发布”目录并在目录名称中添加时间戳。
- 更新“当前”符号链接以指向最新版本。
这工作得很好,唯一的问题是,因为顶级目录是一个名为 'current' 的符号链接,它指向一个文件夹,如 'project_name_2010_10_04' 以下所有导入语句都将失败:
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 文档提及将项目名称用于各种事情。
所以总结一下我的问题,有没有办法指定与实际目录名称不同的包名称?