【问题标题】:Error in included django template is not rendered包含的 django 模板中的错误未呈现
【发布时间】:2017-10-01 04:38:37
【问题描述】:

我有一个使用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 templates attributeerror


    【解决方案1】:

    您不是唯一一个因这种行为而被抓获的人。请参阅 django-developers 邮件列表上的 this discussion

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-27
      • 2019-04-04
      • 2016-08-12
      • 2015-06-17
      • 2020-06-15
      • 2021-06-19
      • 2018-04-11
      • 2015-04-01
      相关资源
      最近更新 更多