摘要:現(xiàn)在我們打算實現(xiàn)一個在網(wǎng)頁上方的導(dǎo)航條,并在所有的頁面中繼承這個導(dǎo)航條。導(dǎo)航條的建立,我們直接使用提供的如下導(dǎo)航條的樣式。之后我們把上述導(dǎo)航條的代碼復(fù)制到的中,及引用復(fù)制到中,瀏覽器就能顯示和圖中一樣的導(dǎo)航條了。
在建設(shè)一個網(wǎng)站的時候,不同的頁面有很多元素是一樣的,比如導(dǎo)航條、側(cè)邊欄等,我們可以使用模板的繼承,避免重復(fù)編寫html代碼?,F(xiàn)在我們打算實現(xiàn)一個在網(wǎng)頁上方的導(dǎo)航條,并在所有的頁面中繼承這個導(dǎo)航條。導(dǎo)航條的建立,我們直接使用Bootstrap提供的如下導(dǎo)航條的樣式。
但在使用Bootstrap的導(dǎo)航條樣式之前,需要先引用Bootstrap所需要的css和js文件以及jQuery,我們在html的header中插入以下代碼完成引用:
具體修改的點是,我把原始的Brand替換成了一個圖片作為logo,第一個下拉控件Dropdown刪掉了,最右側(cè)的下拉控件增加了一個選項,并把文字都替換成了我們想要的。然后建立了一個base.css文件來調(diào)整圖片大小、控件位置、背景色等等,這一部分都是基礎(chǔ)的html/css知識,也就不多說。后續(xù)所有的網(wǎng)頁都要使用這個導(dǎo)航條,我們將含有導(dǎo)航條這個html命名為base.html,并在其body中,導(dǎo)航條代碼的下方增加以下代碼:
{% block body_part %} {% endblock %}然后新建一個home.html,輸入以下內(nèi)容:
{% extends "base.html" %} {% block body_part %}This is body content under nav-bar
{% endblock %}渲染home.html并訪問,我們可以看到這樣的結(jié)果:
因此我們不難理解,在home.html中,{% extends "base.html" %}表示繼承自base.html,home.html中block和endblock區(qū)間的代碼塊會自動替換到base.html同樣名為body_part的block區(qū)域。block可以使用多個,例如在
中也可以使用,以便于不同的頁面設(shè)置不同的標題。
最終base.html代碼如下:{% block page_name %}{% endblock %}-HarpQA {% block body_part %} {% endblock %}請注意一下base.css和logo圖片的引用,我們也使用了url_for函數(shù),第一個參數(shù)是static,代表項目文件夾下static文件夾,第二個參數(shù)是以static文件夾為基準靜態(tài)文件的相對路徑,我們把js文件/css文件/圖片文件等都放在這個文件夾下,所以這個用法以后會經(jīng)常使用。我們在收藏網(wǎng)頁的時候,網(wǎng)頁都有一個小圖標,我們也可以在header中使用這行html代碼來實現(xiàn):
把favicon.ico文件放在static/images文件夾即可,我們使用了Flask的圖標,效果如下圖:
base.css代碼如下:
body{ background: #F3F3F3; } .navbar-brand{ padding: 0 5px; padding-right: 10px; } .logo{ height: 50px; }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/41238.html
摘要:示例使用的模板的指令通過從引用來實現(xiàn)模板的繼承。上面的模板定義了三個,分別命名為和。同時返回相應(yīng)錯誤的數(shù)字狀態(tài)碼。示例帶有導(dǎo)航欄的基礎(chǔ)應(yīng)用程序模板這個模板中的塊中只是一個名為的元素,它包含了在派生模板中定義的名為的空。 2、集成Twitter Bootstrap的Flask-Bootstrap Bootstrap是Twitter的一個開源框架,提供用戶交互組件來創(chuàng)建一個清新且有吸引力...
閱讀 1537·2021-09-22 15:43
閱讀 2236·2019-08-30 15:54
閱讀 1249·2019-08-30 10:51
閱讀 2164·2019-08-29 18:35
閱讀 497·2019-08-26 11:58
閱讀 2556·2019-08-26 11:38
閱讀 2518·2019-08-23 18:35
閱讀 3748·2019-08-23 18:33