难道你不能告诉我,DjangoCMS 在哪里和以什么顺序搜索插件?
我知道我应该将它们添加到INSTALLED_APPS
,但DjangoCMS接下来会对它们做些什么?
答案 0 :(得分:2)
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
虽然这是声明插件的首选方式,但请注意Django在启动时导入的模块也可以导致插件注册。如果您在plugin_pool.register_plugin
的{{1}}中拨打models.py
,它也会注册该插件,因为Django会在启动时自动加载INSTALLED_APP
文件。
答案 1 :(得分:0)
就像你提到INSTALLED_APPS
和url配置以及其他设置一样。有关插件如何在此页plugins.html