Python:导致脚本无法运行的未知Jinja错误

2024-10-01 09:23:03 发布

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

我正在尝试运行以下python命令: $ python stack.py <file_name>我在保存stack.py文件的正确文件夹中

然而,我得到下面的错误,我不知道如何解决它或为什么这是现在发生的

我尝试升级jinja$ pip install Jinja2,但没有成功

我还查看了stack\u error\u vals.json和stack\u error\u template.j2,但其中没有有用的信息

关于如何解决这个问题以便python命令再次成功,有什么想法吗

  File "stack.py", line 514, in proc_jinja_templates
    output = env.render(vals)
  File "C:\Users\jthomas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\jinja2\asyncsupport.py", line 76, in render
    return original_render(self, *args, **kwargs)
  File "C:\Users\jthomas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\jinja2\environment.py", line 1008, in render
    return self.environment.handle_exception(exc_info, True)
  File "C:\Users\jthomas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\jinja2\environment.py", line 780, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "C:\Users\jthomas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\jinja2\_compat.py", line 37, in reraise
    raise value.with_traceback(tb)
  File "<template>", line 16, in top-level template code
  File "C:/carbon\modules\templates\bridge\configs\config.xml.j2", line 27, in top-level template code
    {%- if v.required or ((v.configdatatype == 'Bool' and v.value in (true,false)) or (v.configdatatype == 'String' and v.value and 'changeme' not in v.value.lower())) -%}
jinja2.exceptions.UndefinedError: 'int object' has no attribute 'lower'

Writing stack_error_vals.json and stack_error_template.j2 for review

Tags: inpyjinja2valuestacklocallinetemplate
2条回答
jinja2.exceptions.UndefinedError: 'int object' has no attribute 'lower'

这意味着您试图应用.lower()的对象是整数而不是字符串

如果没有看到完整的代码,可以尝试

str(v.value).lower()

看起来您的模板假设v.value是一个字符串,但在本例中它得到的是一个看起来像整数的东西

相关问题 更多 >