python - 从具有不同顶级文件夹名称的 Django 项目导入

标签 python django fabric importerror

我最近使用 Fabric 为我的 Django 项目设置了部署解决方案.基本工作流程是:

  1. 从服务器上的 git 查看最新的源代码。
  2. 将其复制到“releases”目录并在目录名称中添加时间戳。
  3. 更新“当前”符号链接(symbolic link)以指向最新版本。

这工作得很好,唯一的问题是,因为顶级目录是一个名为“current”的符号链接(symbolic link),它指向一个像“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 文档提到将项目名称用于各种用途。

所以总结一下我的问题,有没有办法指定一个不同于实际目录名称的包名称?

最佳答案

简而言之,您真的不应该在任何地方使用硬编码的项目名称,尤其是在特定应用中,因为这会完全破坏它们的可移植性和可重用性。

关于python - 从具有不同顶级文件夹名称的 Django 项目导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3864615/

相关文章:

python - 如何在 3D 曲面图中绘制 x、y、z 的 numpy 数组?

Django:将参数传递给父模板

Django SSL 证书和静态媒体

python - 必须安装 coreapi 才能使用 'get_schema_fields()'

python - fabric 不能用 nohup 调用远程脚本

python - 根据条件在任意嵌套列表中查找组合

python - 从文本中获取句子的正则表达式构造 - Python

python 格式采用织物彩色字符串的实际长度

python - python可以抛出 "stack overflow"错误吗?

python - 如何列出 fabfile 中定义的角色?