DjangoCMS:它在哪里搜索插件?

时间:2014-12-30 13:03:05

标签: python django django-cms

难道你不能告诉我,DjangoCMS 在哪里和以什么顺序搜索插件?

我知道我应该将它们添加到INSTALLED_APPS,但DjangoCMS接下来会对它们做些什么?

2 个答案:

答案 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

中工作的解释