gpt4 book ai didi

python - Jinja2 忽略未找到对象的 UndefinedErrors

转载 作者:太空狗 更新时间:2023-10-29 17:59:51 25 4
gpt4 key购买 nike

我从 Django 切换到 Jinja,但是我的很多模板在引用时都崩溃了

 {{ entity.property }}

如果未定义实体。在某些情况下是否可以忽略 UndefinedErrors,否则我将不得不添加很多

 {% if entity %}{{ entity.property }}{% endif %}

包装器。

谢谢,理查德

最佳答案

基于 Sean 出色而有帮助的回答,我做了以下事情:

from jinja2 import Undefined
import logging

class SilentUndefined(Undefined):
'''
Dont break pageloads because vars arent there!
'''
def _fail_with_undefined_error(self, *args, **kwargs):
logging.exception('JINJA2: something was undefined!')
return None

然后是我调用的 env = Environment(undefined=SilentUndefined)

在我使用的django_jinja库中,上面在base.py中,实际上是对initial_params的修改

关于python - Jinja2 忽略未找到对象的 UndefinedErrors,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6190348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com