获取Jinja temp中所有未定义变量的行号

2024-10-03 06:30:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个配置验证工具,其中的配置文件是Jinja模板。验证的一部分是验证是否定义了所有模板变量。你知道吗

似乎在Jinja模板中获取未定义变量的行号的唯一方法是将StrictUndefined传递给环境,然后在引发异常时从堆栈跟踪中读取行号。你知道吗

但是,这种方法有一个不幸的后果,就是StructUndefined引发异常:当解析器遇到第一个未定义的变量时,解析就会中止,这意味着当一个变量未定义时,验证工具无法验证整个配置文件。你知道吗

有没有人知道如何在不引起异常的情况下获取行号上的信息?你知道吗


Tags: 工具方法模板解析器定义环境堆栈配置文件