我正在阅读Extending the CMS。
我在理解某些细节时遇到了一些问题:
我需要创建一个插件类。例如PollPlugin
。
class PollPlugin(CMSPluginBase):
model = PollPluginModel # Model where data about this plugin is saved
name = _("Poll Plugin") # Name of the plugin
render_template = "polls/plugin.html" # template to render the plugin with
def render(self, context, instance, placeholder):
context.update({'instance':instance})
return context
plugin_pool.register_plugin(PollPlugin) # register the plugin
我的问题:
instance
是什么? PollPluginModel
和PollPlugin
。 Apphook
和Plugin
任何答案都表示赞赏
答案 0 :(得分:2)
Django-CMS插件可能有点棘手。
在这种情况下, instance
将是PollPlugin
的实例。
PollPlugin
用作“连接”模型,它将PollPluginModel
的一个或多个实例与插件实例(PollPlugin)相关联,然后将其分配给页面上的占位符。
“apphook”是一个回调,它告诉Django-CMS它需要将视图处理交给你的app模块中的其他用户指定的URL模式。
“插件”是可以分配给占位符的模型。