Не могли бы вы рассказать мне, где и в каком порядке DjangoCMS искать плагины?DjangoCMS: где он ищет плагины?
Я знаю, что должен добавить их в INSTALLED_APPS
, но что с ними делает DjangoCMS?
Не могли бы вы рассказать мне, где и в каком порядке DjangoCMS искать плагины?DjangoCMS: где он ищет плагины?
Я знаю, что должен добавить их в INSTALLED_APPS
, но что с ними делает DjangoCMS?
django CMS ищет все cms_plugins.py
файлы в вашем INSTALLED_APPS
. Он загружает их, тем самым вызывая все вызовы plugin_pool.register_plugin
.
Соответствующий код находится в https://github.com/divio/django-cms/blob/cb836a668b9e53a642a35b768bf60bda39ac03fa/cms/plugin_pool.py#L33, который вызывает https://github.com/divio/django-cms/blob/cb836a668b9e53a642a35b768bf60bda39ac03fa/cms/utils/django_load.py#L48
Хотя это предпочтительный способ объявляющих плагин, отметить, что модули, импортируемое Джанго при запуске может также вызвать плагин должны быть зарегистрированы. Если вы звоните plugin_pool.register_plugin
в models.py
в INSTALLED_APP
, он также зарегистрирует этот плагин, так как файл models.py
автоматически загружается Django при запуске.
Как вы упомянули INSTALLED_APPS
и настройку URL-адреса и другие настройки. Существует объяснение того, как плагины работают на этой странице plugins.html
Спасибо, товарищ! ^ __ ^ – Felix