【问题标题】:jinja2 with xml not rendering带有xml的jinja2不呈现
【发布时间】:2021-11-12 21:01:04
【问题描述】:

我是 netconf 的新手。我创建了一个 xml 数据模型作为 jinja2 模板。我正在阅读该文件并尝试使用字典中的变量来呈现它。打印出模板,但未填充任何变量的原始文件。所以我得到的文件是以 Jinja 格式打印的字典键,而不是字典值。我只是想确保文件中填充了正确的信息。稍后我会担心连接问题。

from ncclient import manager
from jinja2 import Template

# netconf Connection Manager
# netconf_connection = manager.connect(host='1.1.1.1',
#                     port=830,
#                     username='admin',
#                     password='admin',
#                     device_params={'name': 'iosxr'},
#                     hostkey_verify=False,
#                     look_for_keys=False)
#
netconf_data = {
    "carrier_vlan": 101,
    "customer_vlan": 1000,
    "HUB_WAN1_PUBLIC_IP": "10.10.10.10",
    "customer": "FirstNetConfTest",
    "PRIMARY_TRANSIT": "11.11.11.11",
    "neighbor_IP": "11.11.11.12",
    "Location": "LAX"
    }

netconf_file = open('templates/new_config.j2').read()
netconf_template = Template(netconf_file)
netconf_payload = netconf_template.render(netconf_data)


print(netconf_payload)

【问题讨论】:

  • 错误是什么,你的模板是什么?
  • 这里的xml是怎么关联的?
  • 没有错误信息,只是没有渲染模板。我得到了没有填写变量的模板输出,所以我得到的是 {{carrier_vlan}} 而不是 101。

标签: python xml jinja2 netconf


【解决方案1】:

这很可能是由于您的模板中缺少/拼写错误的字段。尝试检查所有变量名称是否与其对应的字段匹配。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-15
    • 2020-03-18
    • 2017-03-16
    • 2014-11-16
    • 2015-01-31
    • 2022-01-26
    相关资源
    最近更新 更多