在编写插件时,文档声明您必须定义一个继承自CMSPluginBase
的类,并且您可以在上下文中传递信息。我的问题是render()
函数中传递的参数是什么;
def render(self, context, instance, placeholder)
是什么;
实例
占位符
答案 0 :(得分:3)
首先,API documentation提供了一些提示。此外,文档还提供了有关占位符和自定义插件等组件的更详细信息。
<强> instance
强>
这是您的插件的当前实例。想象一下,您已经创建了一个Django CMS插件,可以在您的网站上呈现推荐。它提供了上传推荐图像,名称和报价的字段。您可以在每个页面上拥有此插件的多个实例,因此instance
参数保存当前呈现的数据。
因此,如果页面上有一个插件的五个实例(例如推荐),render()
将相互独立调用五次,instance
是对当前渲染实体的引用
<强> placeholder
强>
在模板中,您可以定义多个占位符,例如my_left_sidebar
,the_footer
,main_content
等。通过placeholder
变量,您可以检查当前实例呈现的占位符。