python3 вложенных пакетов пространства имен в виде Django модулей - PullRequest
0 голосов
/ 28 марта 2020

Я месяцами борюсь с проблемой при использовании 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, которые я использую в нескольких местах.

Есть идеи, как это решить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...