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

DjangoCMS 4.x中static_placeholder为何未显示在结构侧边栏?

DjangoCMS 4.x 中 static_placeholder 不显示的解决方法

在DjangoCMS 4.x新建项目后,按3.x的习惯在模板中添加{% static_placeholder 'footer' %}这类静态占位符,会发现编辑页面的结构侧边栏里根本找不到它——一开始我以为是bug,提交到GitHub后才知道,这不是功能缺失,而是4.x已经用**别名占位符(Alias Placeholders)**替代了原来的static_placeholder。

具体解决方案

  1. 替换模板中的写法
    把原来的静态占位符标签替换成别名占位符:

    <!-- 旧写法(3.x) -->
    {% static_placeholder 'footer' %}
    
    <!-- 新写法(4.x) -->
    {% placeholder 'footer' alias %}
    
  2. 在后台创建对应别名占位符

    • 登录DjangoCMS后台,进入「占位符」(Placeholders)管理界面
    • 点击新建占位符,填写名称(比如footer),并勾选「别名(Alias)」选项
    • 保存后,回到页面编辑模式,就能在结构侧边栏找到这个别名占位符了
  3. 编辑全局共享内容
    别名占位符的内容是全局共享的,编辑一次后,所有引用该别名的模板都会同步显示最新内容,和3.x中static_placeholder的效果完全一致。

注意事项

  • 别名占位符必须先在后台创建,模板中的标签才能正常渲染并在编辑界面显示
  • 官方在4.x中弃用static_placeholder,推荐用别名占位符实现全局共享内容的需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 20:58:16