重用相同的Django CMS插件实例(reuse same django cms plugin i

2019-10-18 22:46发布

比方说,我创建了像在Django CMS框插件的一个网站,它允许用户把页面的URL和其他配置,显示一个类似盒子facebook的。

现在,用户希望显示在多个页面相同的样箱,是否有可能重复使用相同的插件实例,而不在每个页面上创建的插件吗?

class FacebookLikeBox(CMSPlugin):
    page_url = models.URLField()
    app_id = models.CharField(max_length=25)
    width = models.CharField(max_length=25)
    height = models.CharField(max_length=25)
    color_scheme = models.CharField(max_length=25, choices=(('light','light'),('dark','dark')))
    show_friends_faces = models.BooleanField(default=True)
    show_posts = models.BooleanField(default=True)
    show_header = models.BooleanField(default=True)
    show_border = models.BooleanField(default=True)

Answer 1:

你有两个选择(也许更多)。

如果您正在使用djangocms <3.x的,那么你可以安装djangocms-堆栈这是一个很酷的应用程序,它允许您创建可重用的,可以从管理就像一个占位符来管理插件的“栈”。

该堆栈将呈现它的所有插件,每当遇到{% stack "yourstackname" %}中的模板。

在Django-CMS> = 3.x的这个包被移动到CMS芯所以无需安装它。

第二个选项是使用{% show_placeholder %}模板标签。 你可以阅读更多的关于这个标签在这里 。



文章来源: reuse same django cms plugin instance