Я месяцами борюсь с проблемой при использовании Python вложенных пакетов с Django.
У меня есть проект, который представляет собой фреймворк Django, состоящий из нескольких пакетов, некоторые из них это даже Django приложения, это открытый исходный код, вы даже можете посмотреть код , если это поможет.
Существует один пакет gdaps
, который является основной функциональностью, менеджер плагинов и т. д. c. Затем должен быть пакет gdaps-frontend
, который объединяет основные элементы интерфейса. И затем, есть несколько плагинов для внешних интерфейсов, таких как 'gdaps-frontend_vue`et c.
Теперь, например, для адресации from gdaps.frontend.api import foo
(часть gdaps-frontend), я думаю, что gdaps
и gdaps.frontend
оба должны быть вложенными пакетами пространства имен. Они не должны иметь init .py файлов
Теперь проблема в том, что gdaps
и gdaps.frontend
также являются Django приложениями. Для которого нужен init .py файл с объявлением "default_app_config =" foo.AppConfig ", для удобства поиска AppConfig.
Я не могу получить его прямо здесь. Либо с init .py - затем импортирует go неправильно или без, затем Django не находит приложение.
У меня также есть строка version в gdaps
и gdaps.frontend
, которые я использую в нескольких местах.
Есть идеи, как это решить?