Skip to main content
 首页 » 编程设计

python之Django 外部库和应用名称冲突

2024年08月28日26lyhabc

有一个 Django 应用“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 自动建议 apps.my_app

有没有办法在不重命名其中一个应用程序的情况下解决这个问题?

请您参考如下方法:

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