Python Flask No.6_Flask_Jinja2模板的簡化代碼手段

Python Flask No.6_Flask_Jinja2模板的簡化代碼手段

1.設計原理
在前端的設計中有一條大家默認的準則,那就是當進行app或系統設計時不同界面間的顏色搭配應該是協調一致的,這樣做的結果是不同界面間存在背景色等相似設計,根據編程原則來看,相同的代碼不應該多次重複,對於前端來說更是這樣。Jinja2模板的extends就能在繼承基類模板的基礎上簡化開發時間。
2.首先在flask templates模塊中建立基類模板 base.html
將需要用的css、js全引用到這個界面
加入base.html是這樣的內容

<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <title>IT行業職位信息採集與數據可視化分析</title>
    <link rel="stylesheet" href="../static/css/bootstrap.min.css">
    <link rel="stylesheet" href="../static/css/base.css">
    <link rel="icon" type="image/x-icon" href='../static/img/favicon.ico'>
    <script src="../static/js/jquery-slim.min.js"></script>
    <script src="../static/js/popper.min.js"></script>
    <script src="../static/js/bootstrap.min.js"></script>
    <script src="../static/js/echarts.min.js"></script>
    <script src="../static/js/echarts-wordcloud.min.js"></script>
</head>
<body>
{% block content %}{% endblock %}
</body>
</html>

其中的 {% block content %}{% endblock %}部分相當於給這個基類模板挖的空,告訴系統你會在其他html裏調用這個基類模板並把內容填充到 {% block content %}{% endblock %}中

3.建立一個新HTML界面,將界面內容改成如下

{% extands 'base.html'%}
{% block content%}
...
{%endblock%}

在…中直接寫html內容,在flask運行時會自動把基類模板內容引進與新HTML結合,這樣就達到簡化代碼量的目的了
後記
下一篇內容將介紹如何給app.py進行邏輯分層,即Blueprint,MVC結構中經典的Controller

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