【问题标题】:VariableDoesNotExist: Failed lookup for key [val2] in u'None'VariableDoesNotExist:在 u'None' 中查找键 [val2] 失败
【发布时间】:2023-04-06 05:04:01
【问题描述】:

obj1.pageNone 时,我收到VariableDoesNotExist 错误,并出现以下sn-p。

{{ obj1.val1|default:obj1.page.val2 }}

通常 Django 模板不关心对 None 值的属性访问。

【问题讨论】:

    标签: python django django-templates


    【解决方案1】:

    VariableDoesNotExist 因为它不是在会话中创建的...所以要创建

    views.py(在 get 方法中)

    Variable_Name = request.session.get('Variable_Name') if not Variable_Name: request.session.Variable_Name = {} #这里我们创建一个字典

    【讨论】:

    • 参考这个链接
    【解决方案2】:

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

    {% with obj1.page.val2 as val2 %}
    {{ obj1.val1|default:val2 }}
    {% endwith %}
    

    【讨论】:

    • 未来谷歌人注意:code.djangoproject.com/ticket/13167 解释说这个错误预计永远不会被修复,因为他们认为它会带来比修复更多的问题。因此,预计此解决方法在可预见的未来会有用。
    • @CoreDumpError 看起来它已重新打开:code.djangoproject.com/ticket/28172 但它被标记为“Someday/Maybe”
    猜你喜欢
    • 2016-01-24
    • 2016-03-12
    • 1970-01-01
    • 2019-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多