包含的 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
标签。
我有这个使用 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
标签。