首页 > 解决方案 > {% if any([None]) %}show{% endif %} 在模板中创建 TemplateSyntaxError

问题描述

我收到一个奇怪的错误。放入{% if any([None, 1]) %}show{% endif %}我的 Django 模板会创建一个 TemplateSyntaxError。

实验表明{% if True %}show{% endif %}有效,所以我知道问题出在any([None, 1]). 我在 Django 之外的 python 中检查了any([None, 1])它,它按预期返回 True,所以我的代码似乎应该在模板中工作。我究竟做错了什么?

谢谢你的时间。

标签: djangopython-3.x

解决方案


我认为您应该使用{% if %}内置 Django 的正确布尔运算符:

https://docs.djangoproject.com/en/3.0/ref/templates/builtins/#boolean-operators

或者按照Nafees Anwar的建议编写自己的模板标签


推荐阅读