码迷,mamicode.com
首页 > 其他好文 > 详细

flask中jinjia2模板使用详解2

时间:2018-03-05 11:12:03      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:编程语言   Python   

接上文

注释的使用  

在jinjia2模板中,使用{# #}进行代码注释,如下所示

技术分享图片  

运行后发现,注释不会被render出来

技术分享图片  

去掉空行  

两种方法可以去掉jinjia2模板中的空白行,一是设置jinjia2的环境变量,如下

app.jinja_env.trim_blocks = True
app.jinja_env.lstrip_blocks = True  

另一种是通过在模板的逻辑块中添加-号

{% -%}
   <>Hello {{ | }}!</>
     <>name is number? {% is %}true{% %}false{% %}</>
   {%- -%}
   <>Hello World!</>
{% %}

-在前面说明要除去前面的空行,在后面除去后面的空行,两边都加前后都去掉空白行。

注:-是标签的一部分,所以中间不要有空格

下面这种表达是不合法的:

{% - if xxx %}

转义


想要在模板中输出原生jinjia2语法,需要进行转义,转义有两种方法

一种是通过变量表达式直接输出语言关键字,比如

{{ }}
{{ }}


转出效果:

技术分享图片

另一种是通过raw关键字进行大块转义

{% raw %}
     <>
     {% for item in seq %}
         <>{{ item }}</>
     {% endfor %}
     </>
{% endraw %}


运行效果:

技术分享图片


行语句


行语句就是把一行当成是jinjia2的语句行,设置一下jinjia2的line_statement_prefix变量即可实现。比如设置为“#”
 
app.jinja_env.line_statement_prefix="#"


同时在模板中加入行语句


# if True
<>行语句输出</>
# endif


运行效果:

技术分享图片


行注释


通过设置line_comment_prefix可以实现行注释,步骤跟行语句一样,比如,我们设置:

app.jinja_env.line_comment_prefix = "$"

在模板中加入注释

$行注释,不输出

运行后,查看源码,发现注释没有被输出

技术分享图片


flask中jinjia2模板使用详解2

标签:编程语言   Python   

原文地址:http://blog.51cto.com/12482328/2082874

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!