我試圖渲染一個cms頁面,在另一個頁面內使用自定義cms插件。 這是我的插件類:在另一個頁面內渲染cms頁面
class PageInDiv(CMSPlugin):
page_div = models.ForeignKey(Page, verbose_name= "page")
def __unicode__(self):
return self.page_div.get_title()
,你可以看到它是所有插件鏈接到一個網頁,然後在我的cms_plugins.py我有
class PageInDivPlugin(CMSPluginBase):
model = PageInDiv
name = _("Page in div")
render_template = "page.html"
admin_preview = False
def render(self, context, instance, placeholder):
temp = loader.get_template(instance.page_div.get_template())
html = temp.render(context)
context.update({
'html': html,
'title':instance.page_div.get_title(),
'placeholder':placeholder,
})
return context
,你可以看到我通過提供的頁面的html到插件模板,然後插件模板呈現在託管該插件的頁面內。 我遇到的問題是,通過foreignkey選擇的頁面中的佔位符內容未呈現(顯示)。 所以我的問題是,有沒有辦法以編程方式呈現頁面佔位符?
嗯,到今天我還沒有收到有關的request.current_page.placeholders想法:d,謝謝。 – Paulo
是不是需要request.current_page.placeholders.all? – daigorocub