VariableDoesNotExist:在u'None中查找键[val2]失败

Seá*_*yes 7 python django django-templates

我得到一个VariableDoesNotExist错误与下面的代码片段时obj1.pageNone.

{{ obj1.val1|default:obj1.page.val2 }}
Run Code Online (Sandbox Code Playgroud)

通常,Django模板不关心None值的属性访问.

Seá*_*yes 11

Django只关心模板过滤器None内的值的属性查找default.我绕过它使用:

{% with obj1.page.val2 as val2 %}
{{ obj1.val1|default:val2 }}
{% endwith %}
Run Code Online (Sandbox Code Playgroud)

  • 未来googlers的注意事项:https://code.djangoproject.com/ticket/13167解释说这个bug预计不会被修复,因为他们认为它会引入比修复更多的问题.因此,期望这种解决方法在可预见的未来有用. (3认同)
  • @CoreDumpError 看起来它已经重新打开:https://code.djangoproject.com/ticket/28172 但它被标记为“有一天/也许” (2认同)