模版結構優化之繼承詳解:
在前端頁面開發中。有些**是需要重複使用的。這種情況可以使用 include 標籤來實現。也可以使用另外乙個比較強大的方式來實現,那就是模版繼承。模版繼承類似於 python 中的類,在父類中可以先定義好一些變數和方法,然後在子類中實現。模版繼承也可以在父模版中先定義好一些子模版需要用到的**,然後子模版直接繼承就可以了。並且因為子模版肯定有自己的不同**,因此可以在父模版中定義乙個block介面,然後子模版再去實現。以下是父模版的**:
doctype html這個模版,我們取名叫做 base.html ,定義好乙個簡單的 html 骨架,然後定義好兩個 block 介面,讓子模版來根據具體需求來實現。子模板然後通過 extends 標籤來實現,示例**如下:>
<
html
lang
="en"
>
<
head
>
<
link
rel="stylesheet"
href
=""/>
<
title
>我的站點
title
>
head
>
<
body
>
<
div
id="sidebar"
>
<
ul>
<
li><
a href
="/"
>首頁
a>
li>
<
li><
a href
="/blog/"
>部落格
a>
li>
u>
div>
<
div
id="content"
>
div>
body
>
html
>
部落格列表需要注意的是:extends標籤必須放在模版的第一行。子模板中的**必須放在block中,否則將不會被渲染。如果在某個 block 中需要使用父模版的內容,那麼可以使用 } 來繼承。比如上例, ,如果想要使用父模版的 title ,那麼可以在子模版的 title block 中使用 } 來實現。<
h2>}
h2>
<
p>}
p>
在定義 block 的時候,除了在 block 開始的地方定義這個 block 的名字,還可以在 block 結束的時候定義名字。比如 。這在大型模版中顯得尤其有用,能讓你快速的看到 block 包含在**。
Python Mako模版之頁面繼承
最近在重構自己的乙個專案,於是將django的模版轉換成mako的第三方模版,但是發現關於mako的文件挺多,但是全都是英文的,看起來挺費力,但是這兒有一篇博文翻譯的不錯 關於頁面繼承,寫過比較大的專案大家應該都心有體會,為了保證乙個專案的風格統一,一般我們都會寫乙個基本的模版,如網頁頭部,側邊欄,...
java之繼承詳解
a稱之為基類或父類 public classa b稱之為衍生類或子類 class bextends a a基類或父類 public class a public void method2 public void method3 b繼承a class b extends a class test pu...
C 繼承,虛繼承 記憶體結構 詳解
目錄 class test1 private int num1 class test2 public test1 private int num2 void main test2記憶體結構 檢視記憶體發現父類在子類的上面 在原有的 基礎上增加了test3類 test3類繼承了 test2和test1...