Django 内容管理系统插件
Django CMS plugin
在编写插件时,文档指出您必须定义一个继承自 CMSPluginBase
的 class,并且您可以在上下文中传递信息。我的问题是 render()
函数中传递的参数是什么;
def render(self, context, instance, placeholder)
什么是;
实例?
占位符?
对于初学者,API documentation 提供了一些提示。此外,文档还包含有关占位符和自定义插件等组件的更多详细信息。
instance
这是您的插件的当前实例。想象一下,您已经创建了一个 Django CMS 插件,可以在您的网站上呈现推荐。它提供了上传推荐图片、姓名和报价的字段。您可以在每个页面上有此插件的多个实例,因此 instance
参数包含当前呈现的数据。
因此,如果您在一个页面上有一个插件的五个实例(例如推荐),render()
将彼此独立调用五次,而 instance
是对当前插件的引用呈现的实体。
placeholder
在您的模板中,您可以定义多个占位符,例如 my_left_sidebar
、the_footer
、main_content
等。通过 placeholder
变量,您可以检查当前实例在哪个占位符中呈现。
在编写插件时,文档指出您必须定义一个继承自 CMSPluginBase
的 class,并且您可以在上下文中传递信息。我的问题是 render()
函数中传递的参数是什么;
def render(self, context, instance, placeholder)
什么是;
实例?
占位符?
对于初学者,API documentation 提供了一些提示。此外,文档还包含有关占位符和自定义插件等组件的更多详细信息。
instance
这是您的插件的当前实例。想象一下,您已经创建了一个 Django CMS 插件,可以在您的网站上呈现推荐。它提供了上传推荐图片、姓名和报价的字段。您可以在每个页面上有此插件的多个实例,因此 instance
参数包含当前呈现的数据。
因此,如果您在一个页面上有一个插件的五个实例(例如推荐),render()
将彼此独立调用五次,而 instance
是对当前插件的引用呈现的实体。
placeholder
在您的模板中,您可以定义多个占位符,例如 my_left_sidebar
、the_footer
、main_content
等。通过 placeholder
变量,您可以检查当前实例在哪个占位符中呈现。