Django之模板繼承

2021-06-29 10:33:43 字數 1526 閱讀 6379

在使用django進行web開發時,往往會構造乙個基礎框架模板即base.html,而後在其子模板中對它所包含站點公用部分和定義塊進行過載。

首先建立乙個base.html,原始碼為:

thanks for visiting my site.

這個叫做base.html的模板定義了乙個簡單的html框架文件,等會我們將在我們的站點中的頁面使用它。子模板的作用就是過載、新增

或保留那些塊的內容。

現在新建乙個current_datetime.html模板來使用它:

the current time

it is now }.

再新建乙個hours_ahead.html模板,原始碼為:

future time

in } hour(s),it will be }.

上面的部分非html標籤等會再來解釋它,現在在views.py中新建兩個函式,index4,與index5,分別對應這兩個模板。原始碼為:

def index4(req,offset):

offset=int(offset)

next_time=datetime.datetime.now()+datetime.timedelta(hours=offset)

return render_to_response("hours_ahead.html",)

def index5(req):

now=datetime.datetime.now()

return render_to_response('current_datetime.html',)

在url中的配置為:

url(r'^hours_ahead/(\d$)','blog.views.index4'),

url(r'^current_datetime/$','blog.views.index5'),

現在啟動伺服器,在瀏覽器中檢視效果,current_datetime.html為:

hours_ahead.html中的效果為:

如此兩個html效果就顯示出來了,同時也解釋一下base.html中所起的作用,兩個html中都使用了標記,

這個就是繼承base.html中的內容,在使用    時,中間的內容便是插入在使用了base.html兩個標籤的

中間,由此便極大的避免了**的冗餘。每個模板只包含自己獨一無二的**,無需多餘的部分,而如果想要進行站點級的設計修改,僅需

修改base.html,所有其他模板會立即反映出所做修改。

上述,便是django之繼承使用base.html模板。

Django之模板繼承

為了在django模板配置中減少 的冗餘,需使用模板繼承 1 建立乙個base.html把需要顯示的頁面內容寫在裡面 2 在title部分寫個盒子,以後誰來擴充套件就在這裡面新增相應的內容,即完成title.html 3 建立乙個title.html,讓title.html繼承base.html 必...

django模板繼承

1 本質上說 模板繼承就是先構造乙個基礎框架模板,而後在其子模板中對它所包含站點共用部分和定義進行過載。建立 base.html模板 謝謝對 的支援 2 建立子模板test4.html 現在時間 現在時間是 3 編寫檢視函式 views.py def test4 request 51 now dat...

Django模板的繼承

模板的繼承 1 什麼是模板的繼承 當多個模板 網頁 具備大部分相同的內容時,就可以使用繼承的方式,將相同的東西繼承過來,再增加 修改屬於自己的內容即可 2 模板繼承的方法 1 在父模板中 必須要標識出來哪些內容是允許被修改的 標籤 父模板中正常顯示的東西 block的作用 定義 在子模板中允許被修改...