Django模板错误:KeyError:“'test'=='test'”(string == string)

cygmwpex  于 2023-08-08  发布在  Go
关注(0)|答案(1)|浏览(143)

这一个甚至难倒了聊天GPT谁认为没有什么错与我的代码。我会慢慢地剖析我的代码,直到我弄清楚到底发生了什么,但考虑到它是多么奇怪,我想在这里记录它。
我正在使用Django进行构建,并且有一个Django模板。主模板调用了第二个模板,并且在第二个模板上发生了问题:

{% include "kb/select_file_dialog.html" %}
{% if 'test'=='test' %}
  <script>
  var dialog = document.getElementById('my_modal_2');
      dialog.showModal();
  </script>

字符串
这给了我一个错误:第一个月
我不知道为什么它认为它和字典一起工作。如果没有出现问题的{% if 'test'=='test' %}行,代码运行正常。

wrrgggsh

wrrgggsh1#

问题是变量和==之间没有空格,因此模板解析器认为这是一个单一的标识符。是的,Django的模板解析器在我看来实现得不是很好。
你这样写道:

{% if 'test' == 'test' %}
  …
{% endif %}

字符串
这一个甚至难倒了聊天GPT。
这并不令人惊讶,不幸的是ChatGPT非常擅长编写虚假答案。

相关问题