今天在做一个网站项目时候发现了一个问题,就是模板中有个别通用的内容块不想在某个页面中显示,找了一圈没有找到很好的办法,后面通过琢磨找到了解决的方法。
模板的代码:
base.html
<div id="proc_breadcrumb">
<div class="container mt-2">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="index.html">首页</a></li>
{% block cur_bread_page %}
{% endblock %}
</ol>
</nav>
</div>
</div>
以上代码如果不做特殊处理在进行模板继承的时候,会默认显示全部的内容,但是我不想在页面中显示此块的内容,只想在需要的页面中显示,所以在模板文件中在相应的内容块外增加一个外层的 block 坑块,代码如下:
{% block cur_breadcrumb %}
<div id="proc_breadcrumb">
<div class="container mt-2">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="index.html">首页</a></li>
{% block cur_bread_page %}
{% endblock %}
</ol>
</nav>
</div>
</div>
{%endblock%}
然后在模板继承的时候:
about.html
{% block cur_bread_page %}
<li class="breadcrumb-item active" aria-current="page">自己的内容</li>
{% endblock %}
indexl.hmtl
{% block cur_title %}
<title>馨美优-主页</title>
{% endblock %}
{% block cur_breadcrumb %}
{% endblock %}
这只是我一个新手遇到的一个坑,如有刚好也遇到此问题的 猿友们,希望对你们帮助!!