Nên xem bài dưới đây trước khi xem bài này:
- Ví dụ 1:
import jinja2
vlan_dict = { # định nghĩa dictionary có
"vlan_id": 100, # giá trị 100 (vlan 100)
"vlan_name": "Thietbi", # tên của vlan là "Thietbi"
}
# định nghĩa chuỗi
vlan_template = """
vlan {{ vlan_id }}
name {{ vlan_name }}
"""
'''
thực hiện nối các giá trị của dictionary vào chuỗi,
nối giá trị vào các key nằm giữa 2 cặp dấu {{}}
'''
template = jinja2.Template(vlan_template)
print(template.render(vlan_dict))
Kết quả:
vlan 100
name Thietbi
[Finished in 0.2s]
- Ví dụ 2 (for loop):
import jinja2
my_vlans = { # định nghĩa dictionary có nhiều cặp giá trị
"501": "blue501",
"502": "blue502",
"503": "blue503",
"504": "blue504",
"505": "blue505",
"506": "blue506",
"507": "blue507",
"508": "blue508",
}
template_vars = {"vlans": my_vlans} # định nghĩa thêm một dictionary nữa, giá trị của dictionnary này là một dictionnary
# tạo vòng lặp lấy từng cặp key và giá trị gán vào vlan_id và vlan_name
# dấu - phía sau % là dùng bỏ dòng trắng khi xuất ra template
vlan_template = """
{%- for vlan_id, vlan_name in vlans.items() %}
vlan {{ vlan_id }}
name {{ vlan_name }}
{%- endfor %}
"""
# thực hiện nối
template = jinja2.Template(vlan_template)
print(template.render(template_vars))
Kết quả:vlan 501name blue501vlan 502name blue502vlan 503name blue503vlan 504name blue504vlan 505name blue505vlan 506name blue506vlan 507name blue507vlan 508name blue508[Finished in 0.2s]