Django外部库和应用程序名称冲突

时间:2014-02-19 01:11:39

标签: python django namespaces

有一个django app'my_app'。现在添加了一个恰好具有相同名称并需要添加到INSTALLED_APPS的外部库。

src
 |
 -- apps
      |
      --- **my_app**


external libraries
         |
          __ **my_app**
               |
                __some_path
                      |
                       __ new_module

Django遵循旧路径并吐出

Error: No module named my_app.some_path.new_module

因为它正在寻找错误的文件夹。

INSTALLED_APPS = (
    ...
    apps.my_app
    my_app.some_path.new_module
    ...
)

注意:INSTALLED_APPS中的应用顺序没有区别。从INSTALLED_APS中删除apps.my_app也没有任何区别。

当我尝试输入

import my_app

pycharm auto建议apps.my_app

有没有办法解决这个问题而无需重命名其中一个应用程序?

1 个答案:

答案 0 :(得分:2)

好吧,为即将到来的Django 1.7版本做好准备,该版本使用"app registry"以优雅的方式解决了这样的应用程序冲突。您可以set a label为每个应用使用不同的名称引用它们。