今天在做一個(gè)網(wǎng)站項(xiàng)目時(shí)候發(fā)現(xiàn)了一個(gè)問題曙强,就是模板中有個(gè)別通用的內(nèi)容塊不想在某個(gè)頁(yè)面中顯示,找了一圈沒有找到很好的辦法湖笨,后面通過琢磨找到了解決的方法旗扑。
模板的代碼:
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">首頁(yè)</a></li>
{% block cur_bread_page %}
{% endblock %}
</ol>
</nav>
</div>
</div>
以上代碼如果不做特殊處理在進(jìn)行模板繼承的時(shí)候,會(huì)默認(rèn)顯示全部的內(nèi)容慈省,但是我不想在頁(yè)面中顯示此塊的內(nèi)容臀防,只想在需要的頁(yè)面中顯示雄坪,所以在模板文件中在相應(yīng)的內(nèi)容塊外增加一個(gè)外層的 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">首頁(yè)</a></li>
{% block cur_bread_page %}
{% endblock %}
</ol>
</nav>
</div>
</div>
{%endblock%}
然后在模板繼承的時(shí)候:
- 在需要的頁(yè)面中只需要重寫內(nèi)容的內(nèi)容,代碼如下:
about.html
{% block cur_bread_page %}
<li class="breadcrumb-item active" aria-current="page">自己的內(nèi)容</li>
{% endblock %}
- 在不需要的頁(yè)面中只寫外層的block標(biāo)簽內(nèi)容留空,這樣內(nèi)層的內(nèi)容就不會(huì)顯示了坞淮,代碼如下:
indexl.hmtl
{% block cur_title %}
<title>馨美優(yōu)-主頁(yè)</title>
{% endblock %}
{% block cur_breadcrumb %}
{% endblock %}
這只是我一個(gè)新手遇到的一個(gè)坑,如有剛好也遇到此問題的 猿友們蹭沛,希望對(duì)你們幫助B冈稀!