显示相同占位符内容的 Django-CMS apphook 模板
Posted
技术标签:
【中文标题】显示相同占位符内容的 Django-CMS apphook 模板【英文标题】:Django-CMS apphooked templates showing same placeholder content 【发布时间】:2014-08-31 21:59:57 【问题描述】:我有一个 django-cms 站点,我在该站点上创建了一个带有应用程序挂钩的 /managers-home/
页面,以便我可以从该页面使用 myapp
。
myapp
在/managers-home/
下的各种 URL 处呈现各种模板,我希望这些模板中的每一个都有一个可通过 django-cms 内容插件编辑的部分。因此我在这些模板中添加了% staticplaceholder "content" site %
,因为据我了解,您不能在挂钩的应用程序中使用标准的% placeholder "" %
。
我从这个开始,并在/managers-home/page-1/
上的占位符上添加了一些文本,它使用page-1.html
,然后当我到达/managers-home/page-2
上的占位符时,我已经可以看到第 1 页的内容,尽管现在使用page-2.html
所以这两个单独模板上的占位符正在共享。
如何在我的应用程序模板中正确添加 django-cms 占位符?
【问题讨论】:
【参考方案1】:原来我的问题是static_placeholder
就是这样,只是一个由给定名称标识的占位符,并且在任何引用该名称的地方都会得到相同的内容。
所以为了让我的每个模板都能显示自定义文本,我为每个模板创建了一个 static_placeholder。
# page-1.html
% static_placeholder "page-1" site or %
Default text goes here
% endstatic_placeholder %
# settings.py
CMS_PLACEHOLDER_CONF =
'page-1':
'plugins': ['TextPlugin', 'UploadedPicturePlugin'],
'text_only_plugins': ['LinkPlugin'],
'extra_context': "width": 640,
'name': gettext("Content"),
【讨论】:
嘿,马克,我面临同样的问题,我在新闻博客应用程序中的所有文章都使用相同的模板。当我无法为每篇文章制作模板时,您知道有什么方法可以自定义每个占位符的内容吗? @Nate 如果您有一个应用程序可以从News
模型呈现对象的内容,我想您的新闻对象使用 PlaceholderField
,所以您不必担心static_placeholder
?
我有 aldryn_newsblog 应用程序,所以我最终修改了站点包,这不是我理想的解决方案,但最干净以上是关于显示相同占位符内容的 Django-CMS apphook 模板的主要内容,如果未能解决你的问题,请参考以下文章