在layout.html中,用{% block body %}和{% endblock %}來綁訂其他頁面內容。所以在這個網頁中,我們可以制定網頁中共用的模板。
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>MyFlaskApp</title> </head><body>{% block body %} {% endblock %} </body></html>
另外我們在home.html指定引用layout.html,並撰寫{% block body %}和{% endblock %}之間的網頁內容。
{% extends 'layout.html' %} # {% block body %} Home Welcome! {% endblock %}
最後透過flask route造訪home.html時,會先執行layout.html文件,執行完畢後會帶出home.html內容。我們可以看執行結果如下:
如果你要在layout.html中嵌入其他頁面,可以用{% include '網頁來源' %}這個語法來完成。
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>MyFlaskApp</title></head><body>{% include './includes/menu.html' %} {% block body %} {% endblock %} </body></html>
其中menu.html如下:
<a href="https://www.jetbrains.com/pycharm"> pycharm </a> <br><a href="http://flask.pocoo.org/"> flask </a> <br>
執行結果就可以看到layout.html已經嵌入menu.html。