python - Jinja2 异常处理

标签 python templates exception django-templates jinja2

有没有办法在 jinja2 的模板中处理异常?

{% for item in items %}
   {{ item|urlencode }}  <-- item contains a unicode string that contains a character causes urlencode to throw KeyError
{% endfor %}

我如何处理该异常,以便我可以跳过该项目或处理它而不强制整个模板呈现失败?

谢谢!

最佳答案

{% for item in items %}
   {{ item | custom_urlencode_filter }}
{% endfor %}

然后在任何文件中设置你的 jinja2 环境

def custom_urlencode_filter(value):
    try:
        return urlencode(value)
    except:
        # handle the exception


environment.filters['custom_urlencode_filter'] = custom_urlencode_filter

更多关于 custom jinja2 filters

关于python - Jinja2 异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21692387/

相关文章:

python - 我在哪里可以找到类型列表的来源?

python - Django 嵌套 for 循环中的计数器

python - Pandas Dataframe 在由索引分隔的部分中插值

python - 在 Windows 10 上安装 dlib

c# - ASP.NET MVC 2 : How to contain List<> ID numbering within a "class" UI template?

java - Guava Lists.transform - 如果一个输入错误怎么办?

javascript - 从 javascript 文件中 knockout js 模板

c++ - 转发与不转发传递给包装器的函数

java - 在Seam 2.2.2中为@RequestParameter创建bean期间捕获解析异常

java - 什么可能导致此 Java 未捕获错误