91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python模板庫怎么使用

發布時間:2022-06-01 14:38:38 來源:億速云 閱讀:113 作者:iii 欄目:大數據

這篇“Python模板庫怎么使用”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Python模板庫怎么使用”文章吧。

為什么選擇模板?

每個模板工具都不甚相同,你應該閱讀文檔以了解其確切的用法。但讓我們創建一個假設的例子。假設我想創建一個簡短的頁面,列出我最近編寫的所有 Python 主題。就像這樣:

<html>  <head>    <title>My Python articles</title>  </head>  <body>     <p>These are some of the things I have written about Python:</p>    <ul>      <li>Python GUIs</li>      <li>Python IDEs</li>      <li>Python web scrapers</li>    </ul>   </body></html>

當它僅僅是這三個項目時,維護它是很簡單的。但是當我想添加第四個、第五個或第六十七個時會發生什么?我可以從包含我所有頁面列表的 CSV  文件或其他數據文件生成它,而不是手動編碼此頁面嗎?我可以輕松地為我寫的每個主題創建重復內容嗎?我可以以編程方式更改每個頁面上的文本標題嗎?這就是模板引擎可以發揮作用的地方。

有許多不同的選擇,今天我將與你其中分享三個,順序不分先后:Mako、 Jinja2 和 Genshi。

Mako

Mako  是以 MIT 許可證發布的 Python 模板工具,專為快速展現而設計的(與 Jinja2 不同)。Reddit 已經使用 Mako  來展現他們的網頁,它同時也是 Pyramid 和 Pylons 等 web  框架的默認模板語言。它相當簡單且易于使用。你可以使用幾行代碼來設計模板;支持 Python 2.x 和  3.x,它是一個功能強大且功能豐富的工具,具有良好的文檔,這一點我認為是必須的。其功能包括過濾器、繼承、可調用塊和內置緩存系統,這些系統可以被大型或復雜的 web 項目導入。

Jinja2

Jinja2 是另一個快速且功能全面的選項,可用于 Python 2.x 和 3.x,遵循 BSD 許可證。Jinja2 從功能角度與  Mako 有很多重疊,因此對于新手來說,你在兩者之間的選擇可能會歸結為你喜歡的格式化風格。Jinja2 還將模板編譯為字節碼,并具有 HTML  轉義、沙盒、模板繼承和模板沙盒部分的功能。其用戶包括 Mozilla、 SourceForge、 NPR、 Instagram 等,并且還具有強大的文檔。與 Mako 在模板內部使用 Python 邏輯不同的是,Jinja2 使用自己的語法。

Genshi

Genshi  是我會提到的第三個選擇。它是一個 XML 工具,具有強大的模板組件,所以如果你使用的數據已經是 XML  格式,或者你需要使用網頁以外的格式,Genshi 可能成為你的一個很好的解決方案。HTML 基本上是一種  XML(好吧,不是精確的,但這超出了本文的范圍,有點賣弄學問了),因此格式化它們非常相似。由于我通常使用的很多數據都是 XML  或其他類型的數據,因此我非常喜歡使用我可以用于多種事物的工具。

發行版目前僅支持 Python 2.x,盡管 Python 3 支持存在于主干中,但我提醒你,它看起來并沒有得到有效的開發。Genshi 遵循 BSD 許可證提供。

示例

因此,在上面的假設示例中,我不會每次寫新主題時都更新 HTML 文件,而是通過編程方式對其進行更新。我可以創建一個模板,如下所示:

<html>  <head>    <title>My Python articles</title>  </head>  <body>     <p>These are some of the things I have written about Python:</p>    <ul>      %for topic in topics:      <li>${topic}</li>      %endfor    </ul>   </body></html>

然后我可以使用我的模板庫來迭代每個主題,比如使用 Mako,像這樣:

from mako.template import Template mytemplate = Template(filename='template.txt')print(mytemplate.render(topics=("Python GUIs","Python IDEs","Python web scrapers")))

以上就是關于“Python模板庫怎么使用”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沾化县| 谢通门县| 类乌齐县| 澄城县| 田东县| 宁都县| 桐庐县| 叶城县| 南昌县| 丘北县| 阜新市| 金昌市| 会东县| 车险| 灌阳县| 长海县| 浦北县| 福贡县| 磐石市| 虹口区| 宁安市| 青田县| 义乌市| 天台县| 天镇县| 河津市| 柏乡县| 军事| 平塘县| 南雄市| 鄱阳县| 锡林浩特市| 晋州市| 申扎县| 鄯善县| 江达县| 奇台县| 西吉县| 扎囊县| 田林县| 天祝|