Flask中jinja2的繼承實(shí)現(xiàn)方法及實(shí)例
在繼承的使用上,我們最早接觸的是父類和子類的繼承。不過(guò)Flask框架中的繼承要簡(jiǎn)單一些,只要有一個(gè)原文件,便可以對(duì)其進(jìn)行繼承和修改的操作了。在修改的內(nèi)容方面,可以通過(guò)關(guān)鍵字來(lái)進(jìn)行實(shí)現(xiàn)。下面我們就Flask中jinja2的繼承的實(shí)現(xiàn)先進(jìn)行理論的介紹,然后帶來(lái)實(shí)例供大家練習(xí)。
1、說(shuō)明
Jinja2中最強(qiáng)大的部分是模板繼承。通過(guò)模板繼承,我們可以創(chuàng)建一個(gè)基本(框架)文件,其他文件可以從中繼承,然后再根據(jù)需要對(duì)其進(jìn)行修改。
在jinja2的框架文件中,使用block關(guān)鍵字表示它包含的內(nèi)容可以被修改。
2、實(shí)例
<!DOCTYPE html> <html> <head> {% block head %} <link rel="stylesheet" href="style.css" rel="external nofollow" /> <title>{% block title %}{% endblock %} - My Webpage</title> {% endblock %} </head> <body> <div id="content">{% block content %}{% endblock %}</div> <div id="footer"> {% block footer %} <script>This is javascript code </script> {% endblock %} </div> </body> </html>
這里定義了四處 block,即:head,title,content,footer。那怎么進(jìn)行繼承和變量替換呢?注意看下面的文件
{% extend "base.html" %} # 繼承base.html文件 {% block title %} Dachenzi {% endblock %} # 定制title部分的內(nèi)容 {% block head %} { { super() }} # 用于獲取原有的信息 <style type='text/css'> .important { color: #FFFFFF } </style> {% endblock %} # 其他不修改的原封不同的繼承
實(shí)例擴(kuò)展:
jinja2模板繼承
父親:
<!DOCTYPE html> <html> <head> <title>模板繼承</title> </head> <body> <span>這是基模板</span> <div id="content">{% block content %}{% endblock %}</div> </body> </html>
用{% block content %}{% endblock %}包含jinja2的字模板塊;
子:
<!DOCTYPE html> <html> <head> <title>模板繼承</title> </head> <body> {% extend "jinja2_模板繼承.html"%} {% block content %} <p class="importtant">我在子模板</p> </body> </html>
{% extends "jinja2_模板繼承.html"%}標(biāo)簽是這里的關(guān)鍵,告訴模板引擎這個(gè)模板繼承自另外一個(gè)模板。該標(biāo)簽必須是子模板的第一個(gè)標(biāo)簽,解釋器會(huì)自動(dòng)將父親的內(nèi)容復(fù)制到子模板中!
結(jié)果應(yīng)該是這樣:
<!DOCTYPE html> <html> <head> <title>模板繼承</title> </head> <body> <span>這是基模板</span> <div id="content"> <p class="importtant">我在子模板</p> </div> </body> </html>
到此這篇關(guān)于Flask中jinja2的繼承實(shí)現(xiàn)方法及實(shí)例的文章就介紹到這了,更多相關(guān)Flask中jinja2的繼承如何實(shí)現(xiàn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python 3.6打包成EXE可執(zhí)行程序的實(shí)現(xiàn)
這篇文章主要介紹了Python 3.6打包成EXE可執(zhí)行程序的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10django foreignkey外鍵使用的例子 相當(dāng)于left join
今天小編就為大家分享一篇django foreignkey外鍵使用的例子 相當(dāng)于left join,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08python人工智能tensorflow構(gòu)建循環(huán)神經(jīng)網(wǎng)絡(luò)RNN
這篇文章主要為大家介紹了python人工智能tensorflow構(gòu)建循環(huán)神經(jīng)網(wǎng)絡(luò)RNN,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05使用python實(shí)現(xiàn)抓取中國(guó)銀行外匯牌價(jià)首頁(yè)數(shù)據(jù)實(shí)現(xiàn)
這篇文章主要為大家介紹了如何使用python實(shí)現(xiàn)抓取中國(guó)銀行外匯牌價(jià)首頁(yè)數(shù)據(jù)的實(shí)現(xiàn)示例,有需要的同學(xué)可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-10-10Python pandas軸旋轉(zhuǎn)stack和unstack的使用說(shuō)明
這篇文章主要介紹了Python pandas軸旋轉(zhuǎn)stack和unstack的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03解決pycharm安裝scrapy DLL load failed:找不到指定的程序的問(wèn)題
很多朋友向小編求助pycharm安裝scrapy DLL load failed:找不到指定的程序的問(wèn)題,就這一問(wèn)題小編在window10 + anaconda3 +pycharm2020.1.1 + scrapy安裝親測(cè)可用,下面把我的處理過(guò)程分享到腳本之家平臺(tái),供大家參考2021-06-06python實(shí)現(xiàn)將英文單詞表示的數(shù)字轉(zhuǎn)換成阿拉伯?dāng)?shù)字的方法
這篇文章主要介紹了python實(shí)現(xiàn)將英文單詞表示的數(shù)字轉(zhuǎn)換成阿拉伯?dāng)?shù)字的方法,涉及Python字符串轉(zhuǎn)換操作的相關(guān)技巧,需要的朋友可以參考下2015-07-07Nginx搭建HTTPS服務(wù)器和強(qiáng)制使用HTTPS訪問(wèn)的方法
這篇文章主要介紹了Nginx搭建HTTPS服務(wù)器和強(qiáng)制使用HTTPS訪問(wèn)的方法,即從HTTP跳轉(zhuǎn)到HTTPS,需要的朋友可以參考下2015-08-08