电竞比分网-中国电竞赛事及体育赛事平台

分享

django template extends

 天才白癡書(shū)館 2015-04-13

django template extends

今天說(shuō)下django template extends

我之前寫(xiě)php的時(shí)候一般把公用的模板比如頁(yè)面頭部和頁(yè)面底部全部分離出來(lái),
然后用require 'footer.php' 等
這樣如果要修改頭部后者尾部連接的話。只要修改2個(gè)文件就可以了。
開(kāi)始我覺(jué)的這個(gè)已經(jīng)非常好用了。但是我接觸了django以后。發(fā)現(xiàn)django模板的繼承功能
比php的還更強(qiáng)大。。

比如我們寫(xiě)一個(gè)index.php
<html>
<head>
<title>
test
</title>
<div id="daohang">
首頁(yè) python  python教程 django教程 關(guān)于老王python
</div>
</head>
<body>
this is index
</body>
</html>

如果是php的話:
我會(huì)新建立一個(gè)header.php
然后把
<html>
....
</head>
之間的內(nèi)容全部放到header.php里
再在index.php里去調(diào)用header.php
index.php現(xiàn)在內(nèi)容是:
<?php require_once('header.php');?>
<body>
this is index
</body>
</html>

如果是django的話
我會(huì)新建立一個(gè)base.html主模板文件,這個(gè)主模板文件主要是描述整體的架構(gòu):
base.html:
<html>
<head>
<title>
test
</title>
<div id="daohang">
首頁(yè) python  python教程 django教程 django教程 關(guān)于老王python
</div>
</head>
<body>
{%block content%}
this is index
{%endblock %}
</body>
</html>

如果其他類別的頁(yè)面,比如list.html頁(yè)面,他的頭部和底部都和首頁(yè)一樣。如果是php的話。
list.html這樣寫(xiě):
<?php require_once('header.php');?>
<body>
this is list
</body>
</html>
而如果用django template的extends那就方便了
list.html:
{%entends base.html %}這里定義了extends的話,我們定義的子模板就可以繼承父模板了
<body>
{%block content%}
this is list  #這里定義了block的話,我們定義的子模板就可以重寫(xiě)父模板定義的那部分內(nèi)容。
{%endblock%}
</body>
</html>
通過(guò)django template和php的比較感覺(jué)django開(kāi)發(fā)大項(xiàng)目靈活性和效率都會(huì)比php快。。
但是php的速度比django template會(huì)快很多。哈哈。每個(gè)方法都有優(yōu)勢(shì)和短處,該用什么時(shí)候用什么。。

在前幾篇,我寫(xiě)了一篇關(guān)于django哲學(xué)的,有興趣的可以看看。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多