如何在python中使用jinja2和json文件生成配置
我有一个json文件如何在python中使用jinja2和json文件生成配置,python,json,jinja2,Python,Json,Jinja2,我有一个json文件vlans.json,其中包含以下内容 {"1": {"description": "default", "name": "default"}, "2": {"description": "ilo", "name": "ILO"}} 基于这些信息,我试图使用一些jinja2模板
vlans.json
,其中包含以下内容
{"1": {"description": "default", "name": "default"}, "2": {"description": "ilo", "name": "ILO"}}
基于这些信息,我试图使用一些jinja2模板生成一个配置,该模板应该生成如下输出
#
vlan 1
description default
name default
#
vlan 2
description ilo
name ilo
#
#
vlan 1
description default
name default
#
vlan 2
description ilo
name ilo
#
你知道这个的代码应该是什么样子吗
到目前为止,我有这个代码,但没有工作
from jinja2 import Template
import json
vlans_file = "vlans.json"
vlan_template = '''
vlan {{ vlans.id }}
description {{ vlans.description }}
name {{ vlans.name }}
#
'''
with open(vlans_file) as json_file:
vlans = json.load(json_file)
for key in vlans:
vlan_config = vlan_template.render(vlans)
我取得了一些进展
from jinja2 import Template
import json
vlans_file = "vlans.json"
with open(vlans_file) as json_file:
vlans = json.load(json_file)
vlan_template = Template('''
{% for vlan in vlans %}
#
vlan {{ vlan }}
description {{ value }}
#
{% endfor %}
''')
print(vlan_template.render(vlans = vlans))
它会打印出来
#
vlan 1
description
#
#
vlan 2
description
#
不幸的是,我不知道如何获得下面的输出
我取得了一些进展
from jinja2 import Template
import json
vlans_file = "vlans.json"
with open(vlans_file) as json_file:
vlans = json.load(json_file)
vlan_template = Template('''
{% for vlan in vlans %}
#
vlan {{ vlan }}
description {{ value }}
#
{% endfor %}
''')
print(vlan_template.render(vlans = vlans))
它会打印出来
#
vlan 1
description
#
#
vlan 2
description
#
不幸的是,我不知道如何获得下面的输出