python jinja 模板教程

來源:互聯網
上載者:User

前段時間需要做一個模板處理的工作,因為需要在模板裡面進行邏輯處理,簡單的元組字串替換和關鍵字字串替換已經不能滿足需求了。所以選擇python的第3方模板引擎來實現這個功能。目前大家用的比較多的模板引擎主要是:mako和jinja。 我對比了下,發現jinja的模板引擎和django的文法還是比較相似的,於是我選擇了jinja作為我的模板引擎。

首先我到jinja的官網上下載了源碼包,並且進行了安裝。然後看了下官方的文檔,進行了簡單的一些功能的測試,為以後的開發做準備。

現在開始簡單的操作:
先在python裡面進行模板的啟動和賦值

env = Environment(loader=PackageLoader('mbtest', 'templates'))###mbtest是一個模組,裡面內容可以隨意寫,tempaltes是模板的檔案夾名,jinja模板可以操作模板的列表。

tpl = env.get_template('b2b-product.php')##模板名稱
randarticle = rand_article(randnum)
keyword = ‘test’
minfo = []
displayinfo = {'ptitle':ptitle,'pdescription':pdescription}##python有的時候可以把字典看做對象來操作。裡面的key就是對象的屬性,val則是對象的屬性值。

minfo.append(displayinfo)

tplcontent = tpl.render(minfo=minfo,keyword=keyword,randarticle=randarticle)##模板變數賦值

模板處理:
這裡只是簡單的進行模板的賦值,模板的迴圈輸出等。

tpl.render(minfo=minfo,keyword=k[1],randarticle=randarticle)

keyword在模板裡輸出是{{keyword}} 變數的格式都是{{}}
語句在模板裡面輸出是{% %} 都和django的文法比較相似,如果熟悉django的話,會感覺非常的親切。

{% for k in minfo %}
{{k.ptitle}}
{{k.pdescription}} 
{% endfor %}

這個只是簡單的進行一些模板的操作,後續我會更新一些更加複雜的應用,你也可以參考一下官方的文檔

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.