【发布时间】:2015-06-01 18:36:44
【问题描述】:
在编写插件时,文档指出您必须定义一个继承自 CMSPluginBase 的类,并且您可以在上下文中传递信息。我的问题是render()函数中传递的参数是什么;
def render(self, context, instance, placeholder)
是什么;
实例?
占位符?
【问题讨论】:
标签: django django-cms
在编写插件时,文档指出您必须定义一个继承自 CMSPluginBase 的类,并且您可以在上下文中传递信息。我的问题是render()函数中传递的参数是什么;
def render(self, context, instance, placeholder)
是什么;
实例?
占位符?
【问题讨论】:
标签: django django-cms
对于初学者,API documentation 提供了一些提示。此外,文档还包含有关占位符和自定义插件等组件的更详细信息。
instance
这是您的插件的当前实例。想象一下,您创建了一个 Django CMS 插件,可以在您的网站上呈现推荐。它提供了上传推荐图像、名称和报价的字段。您可以在每个页面上拥有此插件的多个实例,因此 instance 参数保存当前呈现的数据。
因此,如果您在一个页面上有一个插件的五个实例(例如推荐信),render() 将被相互独立地调用五次,instance 是对当前呈现实体的引用。
placeholder
在您的模板中,您可以定义多个占位符,例如my_left_sidebar、the_footer、main_content 等。通过placeholder 变量您可以检查当前实例在哪个占位符中呈现。
【讨论】: