Jinja2:Flask應用中的高效模板引擎
Jinja2是一個純Python編寫的模板引擎,它提供了一種類似Django的非XML語法,同時支持內聯表達式和可選的沙箱環境。它小巧快速,易於使用,是一個獨立的模板引擎。 Flask是一個基於Python的微型web框架,它允許您快速高效地編寫web應用程序。
本系列教程將從Flask的角度出發,講解Jinja2模板的基礎知識。後續部分將介紹高級模板主題,並學習如何在基於Flask的應用程序中以模塊化和可擴展的方式佈局模板。
本教程假設您已掌握Flask基礎知識,並了解使用virtualenv進行Python應用程序開發的環境設置最佳實踐。
安裝包
Flask自帶Jinja2,因此我們只需要安裝Flask即可。本系列教程建議使用Flask的開發版本,它包含更穩定的命令行支持,以及許多其他功能和改進。
pip install https://github.com/mitsuhiko/flask/tarball/master
為什麼需要模板引擎?
在Flask中,我們可以在無需任何第三方模板引擎的情況下編寫完整的web應用程序。讓我們來看一個簡單的if、else和{% %}
塊的例子。更新home.html
頁面如下:
flask_app/templates/home.html
{% extends 'base.html' %} {% block container %} <div class="top-pad"> {% for id, product in products.items() %} <div class="well"> <h2> <a href="https://www.php.cn/link/0bbfd30c6d7efe2fff86061e79c010db'product', key=id) }}">{{product['name']}}</a> <small>$ {{ product['price']}}</small> </h2> </div> {% endfor %} </div> {% endblock %}
觀察這個模板如何擴展上層過濾器,如下所示:
{% extends 'base.html' %} {% block container %} <div class="top-pad"> {% for id, product in products.items() %} <div class="well"> <h2> <a href="https://www.php.cn/link/0bbfd30c6d7efe2fff86061e79c010db'product', key=id) }}">{{product['name']|upper}}</a> <small>$ {{ product['price']}}</small> </h2> </div> {% endfor %} </div> {% endblock %}
現在,如果您運行服務器,您應該會注意到產品名稱全部大寫。
總結
在本教程中,我們學習瞭如何在基於Flask的應用程序中使用Jinja2佈局模板結構。我們還了解瞭如何使用塊在模板中利用繼承。
在本系列的下一部分中,我們將學習如何編寫自定義過濾器、自定義上下文處理器和宏。
此文章已更新,並包含來自Esther Vaati的貢獻。 Esther是Envato Tuts 的軟件開發人員和撰稿人。
以上是用瓶中的jinja2模板:要點的詳細內容。更多資訊請關注PHP中文網其他相關文章!

這是我們在形式可訪問性上進行的小型系列中的第三篇文章。如果您錯過了第二篇文章,請查看“以:focus-visible的管理用戶焦點”。在

CSS盒子陰影和輪廓屬性獲得了主題。讓我們查看一些在真實主題中起作用的示例,以及我們必須將這些樣式應用於WordPress塊和元素的選項。

Svelte Transition API提供了一種使組件輸入或離開文檔(包括自定義Svelte Transitions)時動畫組件的方法。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Dreamweaver Mac版
視覺化網頁開發工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能