Django模板触发KeyError: 'test'=='test'错误求助
Django模板{% if 'test'=='test' %}触发KeyError的解决方法
问题根源
你遇到的KeyError: "'test'=='test'"是因为Django模板引擎的语法解析规则:比较操作符(如==)的两侧必须保留空格,否则引擎会把整个'test'=='test'字符串当作一个变量名,去模板上下文里查找对应的值,上下文里没有这个键,就会抛出KeyError。
解决步骤
把你的模板代码修改为:
{% if 'test' == 'test' %}
也就是在==的左右两边各加一个空格,修改后重新运行项目,错误即可消除。
补充说明
Django模板的语法解析对空格的要求比Python严格,Python里'test'=='test'是合法的表达式,但模板引擎不允许这种写法,必须给操作符留出空格,才能被正确识别为比较逻辑,而不是变量引用。
内容的提问来源于stack exchange,提问作者Reddspark
相关产品推荐
相关产品推荐

