Django, переопределить установленное приложение в моем собственном приложении
Предположим, я установил пип django-nice
для моего проекта, и он установлен в nice
каталог под моим virtualenv.
Есть моменты, которые я хотел бы переопределить или расширить django-nice
я создал nice-custom
в моей папке приложений и поместил там код переопределения.
Я не решался использовать имя nice
вместо этого в моей папке приложений, предполагая, что будут конфликты имен.
(Конечно, можно развить библиотеку и поддерживать ветвь, но я считаю, что она требует больше работы, чем этот способ)
Есть ли способ использовать имя nice
в моей папке приложений и иметь оригинальный nice
приложение сосуществует с моим?
** редактировать
Напримерfrom nice.models import Nice
приведет к ошибке, потому что nice
можете сослаться на красивую папку в virtualenv или в папку моего проекта.
1 ответ
Добавьте альтернативный путь к вашему приложению. Вы можете добавить путь с помощью файла.pth в ваши дистрибутивы Python. Пример 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