django cms - 将现有插件实例放入占位符

django cms - put existing plugin instance into placeholder

自定义 CMSPlugin my_plugin 已经保存。

现在,我想把它放入占位符my_placeholder

my_plugin.placeholder = my_placeholder
my_plugin.save()

导致 my_placeholder 中出现空插件,尽管 my_plugin 有内容。

我错过了哪些步骤?

这个有效:

my_plugin.placeholder = my_placeholder
my_plugin.plugin_type = CMSPluginBase_ChildClass
my_plugin.language = 'en'
my_plugin.position = 0
my_plugin.save()

有必要明确设置插件类型,因为一个 CMSPlugin,即一个 class 继承自 CMSPlugin,可能用于配置多个 class 继承自 CMSPluginBase.

我还没有测试定义语言和位置是否真的有必要,但这可能是个好主意。