我有这个简单的模板,它使用imgix 插件 https://github.com/pancentric/django-imgix/像这样:
// template_b.html
{% get_imgix project.picture %}
该行会导致错误,应替换为
{% get_imgix project.picture.url %}
这段代码位于包含的模板内:
// template_a.html
{% include "template_b.html" %}
似乎当模板标签失败时,在第一种情况下(AttributeError
被提出),模板是simply被忽略。如果出现以下情况,则不会引发错误DEBUG
设置是False
.
虽然这对于防止任何面向用户的错误确实很有用,但没有任何类型的反馈仍然令人担忧。
您知道我在哪里可以找到与此行为相关的更多信息,以及是否有方法仍然可以获知失败情况?
您并不是唯一一个因这种行为而被抓的人。看这次讨论 https://groups.google.com/d/msg/django-developers/hscW1VboJxY/KpgDWvClHQAJ在 django 开发者邮件列表上。
沉默行为已在 Django 1.11 中弃用 https://docs.djangoproject.com/en/1.11/releases/1.11/#id2。在 Django 2.1 中将会引发异常。在 Django 1.11 和 2.0 中,如果 include 标记引发异常,您会收到弃用警告,但异常会被静音。
对于早期版本的 Django,我没有什么好的建议。您可以创建自己的include
标记它是否对您真的很重要。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)