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

时间:2017-05-03 11:15:41

标签: django templates attributeerror

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

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

此行会导致错误,应替换为

{% get_imgix project.picture.url %}

这段代码位于包含的模板中:

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

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

虽然这对于防止任何面向用户的错误肯定是有用的,但仍然没有任何反馈意见。

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

1 个答案:

答案 0 :(得分:3)

你并不是唯一一个被这种行为所困扰的人。请参阅django-developers邮件列表中的this discussion

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

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