jinja2的多繼承和多層繼承

很遺憾,jinja2不能使用多繼承


如何進行多層繼承?
比如base.html爲母模板
blogBase.html爲blog模塊的模板,並以base.html爲模板
blogBase1.html爲以blogBase.html爲模板的HTML文件
即base.html->blogBase.html->blogBase1.html

一句話:使用super()函數
不多說了,上代碼

以title爲例:
base.html:

<title>{% block title %}{% endblock %}-tigerLee的blog</title>

blogBase.html:

{% block title %}我的博客{% endblock %}

blogBase1.html:

{% block title %}{{ super() }}{% endblock %}

此時頁面的title顯示爲:我的博客-tigerLee的blog
如果你裏面什麼也沒有,即:

{% block title %}{% endblock %}

則會顯示

-tigerLee的blog

(變紅是Markdown的標記問題,不用管它)

如果你
blogBase1.html:

{% block title %}{{ super() }}haha{% endblock %}

則會顯示:我的博客haha-tigerLee的blog

這下明白了吧,祝大家學習開心!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章