You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在非Django CMS页面中使用placeholder标签的问题咨询

问题解答

这是预期行为。Django CMS的占位符(placeholder)默认仅在CMS管理的页面实例中生效,apphook挂载的独立详情视图不属于CMS页面范畴,因此结构视图不会识别并渲染这类占位符。

要让占位符在apphook详情页中显示,可按以下步骤操作:

  • 让视图继承CMSApphookMixin或直接使用PlaceholderMixin,确保视图能获取CMS占位符的上下文数据
  • 若手动实现,需在视图的get_context_data方法中添加占位符相关的上下文;使用PlaceholderMixin则可直接利用其内置功能
  • 确保模板正确加载,且视图已传递必要的CMS上下文
  • 在Django CMS后台的对应apphook配置中添加占位符定义,或在模型里通过PlaceholderField关联占位符

简单实现示例:

  1. 视图类代码:
from django.views.generic import DetailView
from cms.views import PlaceholderMixin
from .models import YourModel

class YourDetailView(PlaceholderMixin, DetailView):
    model = YourModel
    template_name = "your_detail_template.html"
    placeholder_name = 'content'  # 指定要使用的占位符名称
  1. 模板中保留{% placeholder 'content' %}标签即可

完成上述配置后,切换到结构视图时占位符就能正常显示,你可像编辑CMS页面一样操作它的内容。

内容的提问来源于stack exchange,提问作者Skipperr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 16:21:26