【问题标题】:Django CMS pluginDjango CMS 插件
【发布时间】:2015-06-01 18:36:44
【问题描述】:

在编写插件时,文档指出您必须定义一个继承自 CMSPluginBase 的类,并且您可以在上下文中传递信息。我的问题是render()函数中传递的参数是什么;

def render(self, context, instance, placeholder)

是什么;

  • 实例?

  • 占位符?

【问题讨论】:

    标签: django django-cms


    【解决方案1】:

    对于初学者,API documentation 提供了一些提示。此外,文档还包含有关占位符和自定义插件等组件的更详细信息。

    instance
    这是您的插件的当前实例。想象一下,您创建了一个 Django CMS 插件,可以在您的网站上呈现推荐。它提供了上传推荐图像、名称和报价的字段。您可以在每个页面上拥有此插件的多个实例,因此 instance 参数保存当前呈现的数据。

    因此,如果您在一个页面上有一个插件的五个实例(例如推荐信),render() 将被相互独立地调用五次,instance 是对当前呈现实体的引用。

    placeholder
    在您的模板中,您可以定义多个占位符,例如my_left_sidebarthe_footermain_content 等。通过placeholder 变量您可以检查当前实例在哪个占位符中呈现。

    【讨论】:

      猜你喜欢
      • 2014-11-25
      • 2013-09-09
      • 2011-06-23
      • 1970-01-01
      • 2018-03-28
      • 2020-01-26
      • 2014-05-12
      • 2015-09-16
      • 2011-10-09
      相关资源
      最近更新 更多