那么,我想出什么jeje ....如何评估模板中的{%if%}变量?Django,{%if%}标记评估
我尝试这个
{% if variable > 0 %} or {% if variable != 0 %}
但...我得到的错误:(
感谢
那么,我想出什么jeje ....如何评估模板中的{%if%}变量?Django,{%if%}标记评估
我尝试这个
{% if variable > 0 %} or {% if variable != 0 %}
但...我得到的错误:(
感谢
退房Django的智能,如果模板标签http://simonwillison.net/2009/Mar/3/smartif/ http://www.djangosnippets.org/snippets/1350/
它取代了内置的,如果标签,让你做对比运营商。
您应该使用
{% ifnotequal...
{% ifequal...
等:)
这里全是:http://docs.djangoproject.com/en/dev/topics/templates/#topics-templates
您刚刚指出模板概述,完整标记和过滤器列表位于以下位置:http://docs.djangoproject.com/en/dev/ref/templates/builtins/ #ref-templates-builtins-tags – 2009-08-13 18:24:45
问题是,如果我想要这个:{%ifnotequal变量0%},但如果变量是-1,那么是“真”,我不希望负值将是“真”。 与同为{%ifequal%} – Asinox 2009-08-13 18:33:45
每次遇到小问题时,您都应该阅读Django出色的文档,而不是在每次遇到小问题时不断发帖。特别是,模板文档有一个非常好的解释,为什么你所尝试的是不允许的。
在这种情况下,您可以从Python 0与False相同的事实中受益。所以,你可以有
{% if variable %}
或
{% if not variable %}
否则,使用{% ifequal %}
和{% ifnotequal %}
为MaRiz解释。
“轻微”是一个意见问题。相信世界上没有人比你更有经验。这都是相对的。 Joel Spolsky特别指出,他对这个网站的设想是回答所有问题,甚至是最看似微不足道的问题。现在已经提出这个问题意味着它可能不需要再次提问。你可能花了那段时间,你曾经在开始回答时抱怨,而是使用编辑权限来改善他的问题。 – 2009-08-13 18:34:47
我认为Joel Spolsky不同意你的观点,即“不要发布问题,如果过于简单,请阅读文档”。 – 2009-08-13 18:36:44
即时通讯对不起,我认为我做的第一件事就是阅读文档,不管是否相信,但是在文档中{%if%}中没有关于运算符的任何内容,我不知道如果我错了。 谁说我的例子-1是真的?我需要0或> 0,但如果我从数据库中提取值,如果值为-1,那么{%if variable%}为真。 对不起。 – Asinox 2009-08-13 18:50:41
你用的是什么django? 1.2及以上的有智能,如果 https://docs.djangoproject.com/en/dev/releases/1.2/
现在你可以这样做:
{% if a != b || c != d %}
...
{% endif %}
Django的模板系统是专门为鼓励尽可能少的逻辑可能是在模板中,这就是为什么在第一标签系统似乎有限。这个想法是将你的想法转换到更多的MVC状态,在这个状态下你的数据已经准备好,然后到达你的模板。 – 2009-08-13 18:27:07
jinja模板引擎允许此功能在django中正常工作 – Evgeny 2009-10-22 21:57:41