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

Django继承base.html后子页面内容无法显示的问题求助

问题原因与解决方法

问题原因

你在dashboard.html里定义了content块,但作为父模板的base.html中没有对应的content块定义。Django模板继承的逻辑是:子模板的块内容只会替换父模板中同名的块,父模板里不存在的块,子模板的内容无法被渲染输出。

解决步骤

修改base.html,在<body>内部、nav块结束后添加content块的占位,具体如下:

修改后的base.html关键代码片段:

{% block nav %}
<div class="nav-container">
 <img src="{% static 'levelstatic/assets/coderalogo.svg' %}" style="margin: 0 auto;
 width: 80%; margin-bottom: 25px;" alt="CODERA">
     <div class="nav-links">
         <div class="nav-link nav-active">
             <img src="{% static '/dashimages/learn.svg' %}"> 
             <a>LEARN</a>
         </div>
         <div class="nav-link">
             <img src="{% static '/dashimages/review.svg' %}"> 
             <a>REVIEW</a>
         </div> 
         <div class="nav-link">
             <img src="{% static '/dashimages/progress.svg' %}"> 
             <a>PROGRESS</a>
         </div> 
         <div class="nav-link">
             <img src="{% static '/dashimages/compete.svg' %}"> 
             <a>COMPETE</a>
         </div> 
     </div>
</div>
{% endblock %}

<!-- 新增content块占位 -->
{% block content %}{% endblock %}

</body>

完成修改后,dashboard.html中的{% block content %}内容就会被插入到这个新增的占位位置,页面就能正常显示<h1>Hello World!</h1>了。

补充说明

dashboard.html的写法是正确的,只要父模板添加了对应的content块,子模板的内容就会被正确渲染。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 04:35:30