當前位置:
首頁 > 最新 > flask中jinjia2模板引擎使用詳解2

flask中jinjia2模板引擎使用詳解2

接上文

注釋的使用

在jinjia2模板中,使用{# #}進行代碼注釋,如下所示

運行後發現,注釋不會被render出來

去掉空行

兩種方法可以去掉jinjia2模板中的空白行,一是設置jinjia2的環境變數,如下

app.jinja_env.trim_blocks=True

app.jinja_env.lstrip_blocks =True

另一種是通過在模板的邏輯塊中添加-號

{%ifname-%}

h1>Hello {{name|upper}}!>

h1>name is number? {%ifnameisnumber%}true{%else%}false{%endif%}>

{#這是一大堆注釋 #}

{%-else-%}

h1>Hello World!>

{%endif%}

-在前面說明要除去前面的空行,在後面除去後面的空行,兩邊都加前後都去掉空白行。

註:-是標籤的一部分,所以中間不要有空格

下面這種表達是不合法的:

{% - if xxx %}

轉義

想要在模板中輸出原生jinjia2語法,需要進行轉義,轉義有兩種方法

一種是通過變數表達式直接輸出語言關鍵字,比如

{{"{{通過轉義輸出變數表達式 }}"}}

{{"{%通過轉義輸出邏輯表達式 %}"}}

轉出效果:

另一種是通過raw關鍵字進行大塊轉義

{% raw %}

ul>

{% for item in seq %}

li>{{ item }}>

{% endfor %}

ul>

{% endraw %}

運行效果:

行語句

行語句就是把一行當成是jinjia2的語句行,設置一下jinjia2的line_statement_prefix變數即可實現。比如設置為「#」

app.jinja_env.line_statement_prefix="#"

同時在模板中加入行語句

# if True

p>行語句輸出>

# endif

運行效果:

行注釋

通過設置line_comment_prefix可以實現行注釋,步驟跟行語句一樣,比如,我們設置:

app.jinja_env.line_comment_prefix ="$"

在模板中加入注釋

$行注釋,不輸出

運行後,查看源碼,發現注釋沒有被輸出

本文源碼下載地址:

鏈接:https://pan.baidu.com/s/1bqjBcXh 密碼:0e2l


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 挨踢學霸 的精彩文章:

TAG:挨踢學霸 |