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:挨踢學霸 |