Django,在我自己的应用程序中覆盖pip安装的应用程序

时间:2016-02-05 03:58:30

标签: django project-structure

假设我为我的项目添加了django-nice,它安装在我的virtualenv下的nice目录中。

我有时想覆盖或扩展django-nice

我在我的apps文件夹中创建了nice-custom并在其中放置了覆盖代码。

我犹豫是否在我的apps文件夹中使用名称nice,假设名称冲突。

(当然有人可以分叉lib并维护fork,但我觉得它需要更多的工作而不是这种方式)

有没有办法在我的apps文件夹中使用名称nice并让原始的nice应用与我共存?

**编辑

例如 from nice.models import Nice会导致错误,因为nice可以引用virtualenv中的nice文件夹或我项目目录下的文件夹。

1 个答案:

答案 0 :(得分:0)

为您的应用添加替代路径。 您可以在python dist-packages中添加带有.pth文件的路径。 一个Ubuntu示例:

假设您的django-nice位于/ home / username / my-project / django-nice

$ sudo nano /usr/lib/python2.7/dist-packages/my-django-nice.pth

文件:

/home/username/my-project

然后在你的代码中:

from my-project.django-nice import nice