Django从理论到实战(part23)--模板继承
生活随笔
收集整理的這篇文章主要介紹了
Django从理论到实战(part23)--模板继承
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
學習筆記,僅供參考
參考自:Django打造大型企業(yè)官網(wǎng)–Huang Y;
本系列Blog以應用為主,理論基礎部分我在后端專欄的Django系列博客已經(jīng)寫過了,如果有些需要補充的知識點,我會在這個系列中,盡量詳細的記錄一下。
模板繼承
模版繼承類似于Python中繼承,在父類中可以先定義好一些變量和方法,然后在子類中實現(xiàn)。模版繼承也可以在父模版中先定義好一些子模版需要用到的代碼,然后子模版直接繼承就可以了。并且因為子模版肯定有自己的不同代碼,因此可以在父模版中定義一個block接口,然后子模版再去實現(xiàn),父模版(base.html)示例代碼如下:
<!DOCTYPE html> <html lang="en"> <head><link rel="stylesheet" href="{% static 'style.css' %}" /><title>{% block title %}我的站點{% endblock %}</title> </head><body><div id="content">{% block content %}{% endblock %}</div> </body> </html>我們將這個父模版,取名為base.html,在父模板中先定義好一個簡單的html骨架,然后定義好兩個block接口,讓子模版來根據(jù)具體需求來實現(xiàn)。子模板再通過extends標簽來繼承,子模板代碼示例如下:
{% extends "base.html" %}{% block title %}博客列表{% endblock %}{% block content %}{% for entry in blog_entries %}<h2>{{ entry.title }}</h2><p>{{ entry.body }}</p>{% endfor %} {% endblock %}注意事項
在子模板中,extends標簽必須放在模版的第一行,子模板中的代碼必須放在block標簽中,否則將不會被渲染。
如果在子模板的某個block中,想要使用父模版的內(nèi)容,那么可以使用{{block.super}},比如,在子模板中我想要使用父模版的title:
{% extends "base.html" %} {% block title %}{{ block.super }}博客列表 {% endblock %}總結(jié)
以上是生活随笔為你收集整理的Django从理论到实战(part23)--模板继承的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 聚类算法(part1)--DBSCAN
- 下一篇: LOL手游璐璐中单对线怎么打 璐璐中单怎