python中flask(六)

python中flask(六)

上一章講完了for和if的問題,這一部分主要是關於flask中html模版的繼承。
1.模版繼承概念
由於很多大型的網站都是由着多個頁面而組成,如果觀察會發現,頁面和頁面之間都會有一些相同之處,比如頁面的導航欄一般是不會變的,變的一般只是在頁面中的內容,但是爲了每個頁面都要使用相同的代碼,不僅使用麻煩而且不便於後期維護調整,因此就出現了模版的繼承。舉個例子:
在這裏插入圖片描述
在這裏插入圖片描述
以上是我前兩天所搭建網頁框架,可以看到,紅框中的部分就是相同的導航欄,即繼承於同一個父模版,在實際情況下,父模版一般以base.html命名。
2.模版繼承用法
從代碼實現上來講,我們要首先寫父模版,就和尋常html寫法沒有區別,當然了,如果我們想引用的話只需要使用 {% extends ‘base.html’ %}(把父模版命名爲base)。如果我們想在模版裏面插入東西怎麼辦?在父模版需要的地方寫入:{% block 自定名稱 %}{% endblock %},類似一個小代碼塊,只需要在想要的文件中寫{% block 自定名稱 %}你需要的內容{% endblock %}即可。
展示一個博主在實戰中的引用例子:

<!-- 導入父模版,一般爲網頁的基礎導航條 -->
{% extends 'base_index.html' %}

<!-- title一般用在添加名字,不同的網頁可以加上不同的名字 --!>
{% block title %}後臺首頁{% endblock %}

<!-- 引入CSS樣式,css文件一般可以用來調整文字顯示格式,實戰會用到 -->
{% block head %}
    <link rel="stylesheet" href="{{ url_for('static',filename='css/back_index.css') }}">
{% endblock %}

<!-- 添加叫main的代碼塊,這一部分是在父模版中body的部分定義的,一般用來添加網頁中的內容,比如添加幾個分區展示信息什麼的 -->
{% block main %}
<!-- 展示最新推送 -->
<br/>
<br/>
<ul class="list-group">
    <h4>最新推送</h4>
    <br/>
    <a href="#" class="list-group-item">{{ '暫無' }}<span class="badge">{{ 0 }}</span></a>

</ul>

<!-- 展示最熱股票 -->

<br/>
<br/>
<br/>
<ul class="list-group">
    <h4>最新股市行情</h4>
    <br/>
    <a href="#" class="list-group-item">{{ '暫無' }}<span class="badge">{{ 0 }}</span></a>

</ul>
{% endblock main %}

3.結語
用好繼承還是很重要的,它可以大幅減少我們的工作,而且只要更改父模版,就可以實現所有頁面的更改,總的來說,繼承是html中必不可缺的一環。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章