首页 > 解决方案 > Django中不存在的模板变量

问题描述

测试或确保所有模板变量实际上都存在的最佳实践是什么。

假设我们有以下模板

<html>
  <div>{{ existing_object.non_existing_attribute }}</div>
</html>

我们有一个现有的对象。所以我们不能像下面的答案那样真正测试响应上下文:Django Unitest Checking Value Of Template Variable

string_if_invalid文档中所述。但这应该只用于调试目的。

关于如何最好地避免这种情况的任何见解都会有所帮助!

编辑:让我们假设不存在的属性是一个错误。即我拼错了变量,因此它显示为空字符串。

Edit2:这个问题有很多更好的答案:https ://stackoverflow.com/a/7854404/554903

标签: pythondjangodjango-templates

解决方案


您可以使用内置模板标签default_if_none

{{ object.attribute|default_if_none:"Nothing" }}


推荐阅读