您好,登錄后才能下訂單哦!
怎么在Flask框架中實現模板繼承?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
在模板中,可能會遇到以下情況:
多個模板具有完全相同的頂部和底部內容
多個模板中具有相同的模板代碼內容,但是內容中部分值不一樣
多個模板中具有完全相同的 html 代碼塊內容
像遇到這種情況,可以使用 JinJa2 模板中的 繼承 來進行實現
模板繼承是為了重用模板中的公共內容。一般Web開發中,繼承主要使用在網站的頂部菜單、底部。這些內容可以定義在父模板中,子模板直接繼承,而不需要重復書寫。
標簽定義的內容
{% block top %} {% endblock %}
相當于在父模板中挖個坑,當子模板繼承父模板時,可以進行填充。
子模板使用 extends 指令聲明這個模板繼承自哪個模板
父模板中定義的塊在子模板中被重新定義,在子模板中調用父模板的內容可以使用super()
父模板代碼:
base.html
{% block top %} 頂部菜單 {% endblock top %} {% block content %} {% endblock content %} {% block bottom %} 底部 {% endblock bottom %}
子模板代碼:
extends指令聲明這個模板繼承自哪
{% extends 'base.html' %} {% block content %} 需要填充的內容 {% endblock content %}
模板繼承使用時注意點:
不支持多繼承
為了便于閱讀,在子模板中使用extends時,盡量寫在模板的第一行。
不能在一個模板文件中定義多個相同名字的block標簽。
當在頁面中使用多個block標簽時,建議給結束標簽起個名字,當多個block嵌套時,閱讀性更好。
看完上述內容,你們掌握怎么在Flask框架中實現模板繼承的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。