java模板引擎,Jinja2模板引擎語法

 2023-10-17 阅读 28 评论 0

摘要:模板案例 eg: <!doctype html> <title>Hello template</title> {% if name %}<h1>Hello {{ name }}!</h1> {% else %}<h1>Hello flask!</h1> {% endif %} 從上面的例子可以發現: 模板表達式是包含在分割符{{}}內 模板的控制

模板案例

eg:

<!doctype html>
<title>Hello template</title>
{% if name %}<h1>Hello {{ name }}!</h1>
{% else %}<h1>Hello flask!</h1>
{% endif %}

從上面的例子可以發現:
模板表達式是包含在分割符{{}}內
模板的控制語句都是包含在分割{% %}中
模板注釋都是包含在分隔符{# #}中

  • 變量 : 視圖傳遞過來的數據 {{ 變量名稱 }}
  • 標簽 : 就是python中的循環\分支結構... {% 標簽名稱 %}

表達式分類

表達式一般分為以下幾種:

表達式種類舉例
變量(最常用){{name}}
基礎類型( 字符串,數值,列表,元祖,字典,布爾值)一般配合表達式使用{{ 'string' }}
運算表達式(算術與邏輯){{ False and True }} {{ 2 + 3 }}
過濾器' | ' ,測試器' is '一般配合表達式
函數調用{{ func( ) }}
“in”操作符{{ 1 in [1,2,3] }}
字符串連接符”~”{{ 'like' }}

變量過濾器

java模板引擎?變量的值可以使用過濾器修改。過濾器在添加變量名之后,兩者之間以豎線分隔。例如,下述模板把name變量的值變成首字母大寫的形式:

Hello, {{name|capitalize}}

下面是Jinja2變量過濾器

過濾器名說明
safe渲染值時不轉義
capitalize把值的首字母轉換成大寫,其他字母轉換成小寫
lower把值轉換成小寫形式
upper把值轉換成大寫形式
title把值中每個單詞的首字母都轉換成大寫
trim把值首尾空格刪掉
striptages渲染之前把值中所有的HTML標簽都刪掉

控制結構

在模板中使用條件判斷語句

{% if user %}Hello, {{ user }} !
{% else %}Hello, Stranger !
{% endif %}

for循環渲染一組元素

<ul>
{% for comment in comments %}<li>{{ comment }}</li>
{% endfor %}
</ul>

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/143271.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息