flask_jinjia2.py
1'''2
flask中的jinjia2模板語言(和django中模板類似):
3(1)模板變數}45
(2)模板標籤
6①for迴圈遍歷78
......910
②if...else判斷
1112
...13
14...
1516
...17
18(3)模板繼承,配合模板中定義的block重寫需要改動的部分
1920
21......
2223
24(4)模板元件在頁面中引入html元件
2526
(5)通過後端特殊裝飾器定義函式在模板中直接時候用
2728
2930
(6)jinjia2模板語言中的巨集定義
31在模板中先定義:
3233
html標籤使用引數
3435
36在模板中使用定義的巨集:37}
3839
例項:40
4142
434445}
46}4748
49(7)模板過濾器safe及flask中的markup使用
50返回html標籤可以在模板中使用過濾器safe確保安全正常渲染成標籤
51也可以在後端flask專案中通過markup()例項化之後記性渲染
5253
'''54
55from flask import
flask, render_template,markup56)
5859 student = ,
6061 student_list =[
62 ,
63 ,
64 65]
6667 student_dict =,
69 2: ,
70 3: ,71}
727374#
模板變數和標籤使用以及markup()返回標籤
/jinjia2')
76def
data():
77 title='
'78 markup_title=markup(title)
79return render_template('
jinjia2daemo.html
', st=student, stl=student_list, std=student_dict,title=markup_title)80#
return render_template('jinjia2daemo.html',**)
818283#
特殊裝飾器函式在模板中的全域性使用
8485
defsum1(a, b):
86return a +b
8788
89def sum2(a, b, c, d): #
第乙個引數為模板變數
90return a + b + c +d
9192
9394
if__name__ == '
__main__':
jinjia2daemo.html
1doctype html
>
2<
html
lang
="en"
>
3<
head
>
4<
meta
charset
="utf-8"
>
5<
title
>data
title
>
6head
>
7<
body
>89
10<
div>}
div>
1112
13<
div>
14<
h2>單個學生
h2>}15
div>
1617
<
div>
18<
h2>列表巢狀字典資料
h2>}19
<
table
border
="1px"
>
20<
tr>
21<
td>name
td>
22<
td>age
td>
23<
td>gender
td>
24tr
>
2526
<
tr>
27<
td>}
td>
28<
td>}
td>
29<
td>
3031}32
33'男'
3435
td>
36tr
>
3738
table
>
39div
>
4041
<
div>
42<
h2>字典巢狀字典資料
h2>}43
<
table
border
="1px"
>
44<
tr>
45<
td>id
td>
46<
td>name
td>
47<
td>age
td>
48<
td>gender
td>
49tr
>
5051
<
tr>
52<
td>}
td>
53<
td>}
td>
54<
td>}
td>
55<
td>
5657}58
59'男'
6061
td>
62tr
>
6364
table
>
65div
>
6667
68<
div>
69<
h2>特殊裝飾器自定義的函式直接在模板中使用
h2>70}
71<
br>72}
73div
>
7475
7677
<
div>
78<
h2>jinjia2模板語言中的巨集定義
h2>
79<
div>
8081
<
input
type
="}"
name
="}"
value
="}"
>
828384}
85}86div
>
87div
>
8889
9091
92body
>
93html
>
flask中jinjia2模板引擎使用詳解4
接上文 for迴圈 和其它程式語言一樣,for用來編輯列表中的項。下面以乙個例子來說明for在flask的jinjia2模板中的使用。建立乙個模板list.html 如下 li li 在code.py中新增url規則 defrenderlist users zhang san li si wang ...
flask中jinjia2模板引擎使用詳解2
接上文 注釋的使用 在jinjia2模板中,使用進行 注釋,如下所示 執行後發現,注釋不會被render出來 去掉空行 兩種方法可以去掉jinjia2模板中的空白行,一是設定jinjia2的環境變數,如下 另一種是通過在模板的邏輯塊中新增 號 h1 hello h1 h1 name is numbe...
Ansible中的jinjia2模板
jinjia模板是在ansible中建立的一類模板檔案,通常以.j2結尾標識。模板的內容含有多個變數,使原本固定的某個檔案配置,通過引數的改變,變得可以復用,提高了使用效率。模板的組成 模板一般由多個元素組成,包含 資料 變數 表示式 變數 通常在play中的vars中進行標識,表示式為 表示式或者...