包含的 django 模板中的错误未呈现

Error in included django template is not rendered

我有这个使用 imgix plugin 的简单模板,如下所示:

// template_b.html
{% get_imgix project.picture %} 

此行导致错误,应替换为

{% get_imgix project.picture.url %}

这段代码在包含的模板中:

// template_a.html
{% include "template_b.html" %}

似乎当模板标签失败时,在第一种情况下(引发 AttributeError),模板被 简单地 忽略。如果 DEBUG 设置为 False.

,则不会引发错误

虽然这对于防止任何面向用户的错误肯定很有用,但仍然担心没有任何类型的反馈。

您知道我在哪里可以找到与此行为相关的更多信息吗?是否还有其他方法可以通知失败?

您不是唯一因这种行为而被发现的人。请参阅 django-developers 邮件列表中的 this discussion

沉默行为has been deprecated in Django 1.11。在 Django 2.1 中将引发异常。在 Django 1.11 和 2.0 中,如果 include 标记引发异常,您会收到弃用警告,但异常会被抑制。

我对早期版本的 Django 没有什么好的建议。如果它对您很重要,您可以创建自己的 include 标签。