-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathexpression-template.html
154 lines (104 loc) · 4.6 KB
/
expression-template.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
## ==============================================================================
## Literals 文字表达式
## ==============================================================================
## 声明字符串
## -------------------------------------------------------------------------------
{{ "hello, world" | title }}
## 数字运算
## -------------------------------------------------------------------------------
{{ 42 / 22.35 }}
## 创建list集合
## -------------------------------------------------------------------------------
{{ [1, 2, 3] | length }}
<ul>
{% for href, caption in [('index.html', 'Index'), ('about.html', 'About'),
('downloads.html', 'Downloads')] %}
<li><a href="{{ href }}">{{ caption }}</a></li>
{% endfor %}
</ul>
## 创建 dict
## -------------------------------------------------------------------------------
{% for name, age in [('jack', 55)] %}
name: {{ name }}, age: {{ age }}
{% endfor %}
## 创建 tuple
## -------------------------------------------------------------------------------
{% for item in {'dict': 'of', 'key': 'and', 'value': 'pairs'}.items() %}
item: {{ item | safe }}
{% endfor %}
## 真假,Jinja2 支持 true/false/none 小写形式
## -------------------------------------------------------------------------------
{{ true }} - {{ True }}
{{ false }} - {{ False }}
{{ none }} - {{ None }}
## ==============================================================================
## Math 数学运算表达式
## ==============================================================================
## 加法
## -------------------------------------------------------------------------------
{{ 1 + 2 }}
## 减法
## -------------------------------------------------------------------------------
{{ 1 - 2 }}
## 除法
## -------------------------------------------------------------------------------
{{ 33 / 2 }} ## 16.5
## 除法取模,余数
## -------------------------------------------------------------------------------
{{ 33 % 5 }} ## 3
## 除法取值
## -------------------------------------------------------------------------------
{{ 33 // 5 }} ## 6
## 乘法
## -------------------------------------------------------------------------------
{{ 3 * 5 }} ## 15
## 幂运算
## -------------------------------------------------------------------------------
{{ 2 ** 3 }} ## 6
## ==============================================================================
## Logic 逻辑运算
## ==============================================================================
## and
## -------------------------------------------------------------------------------
{{ true and false }} ## False
{{ 1 == 2 and 1 == 1 }} ## False
{{ 2 == 2 and 1 == 1 }} ## True
## or
## -------------------------------------------------------------------------------
{{ 1 == 2 or 1 == 1 }} ## True
{{ 2 == 2 or 1 == 1 }} ## True
## not
## -------------------------------------------------------------------------------
{{ not (2 == 2 or 1 == 1) }} ## False
## 结合 is 和 in
## -------------------------------------------------------------------------------
## foo is not bar
## foo not in bar
## not foo is bar
## not foo in bar
## ==============================================================================
## 其他运算
## ==============================================================================
## in
## -------------------------------------------------------------------------------
{{ 1 in [1, 2, 3] }} ## True
## is 结合 tests
## -------------------------------------------------------------------------------
##{% if loop.index is divisibleby(3) %}
## | 管道,结合过滤器
## -------------------------------------------------------------------------------
{{ "hee jo" | upper }} ## HEE JO
## ~ 字符串拼接
## -------------------------------------------------------------------------------
{% set name = 'jack' %}
{{ "Hello " ~ name ~ "!" }} ## Hello jack!
## ==============================================================================
## 三元运算
## ==============================================================================
## {% extends layout_template if layout_template is defined else 'master.html' %}
{% set username = user if user is defined else 'tom' %}
{{ username }} ## tom
{% set username = name if name is defined else 'tom' %}
{{ username }} ## jack
{{ '[%s]' % username if username }} ## [jack]
{{ '[%s]' % page.title if page and page.title }} ## empty