我在Django模板中使用条件有什么问题?

时间:2013-04-15 01:26:27

标签: django django-templates

我在What is wrong with my Django templating use of if's?询问我的条件有什么问题,到目前为止,每一个回答都是,“这就是你如何为我给出的标本更加诡异地编码。他们没做的甚至暗示为什么我的条件错了,可以改进。

“{%if”:“not in url.url%}”和“{%if time_zone.0 == entity.time_zone%}”都得到“'if'语句格式不正确”错误。这是什么?如何调整条件以使它们不会崩溃。

1 个答案:

答案 0 :(得分:3)

这只是一个猜测,但听起来你可能正在使用旧版本的Django(< 1.2),但尚未支持这些结构。在Django< 1.2中,您必须使用(例如){% ifequal time_zone.0 entity.time_zone %}而不是{% if time_zone.0 == entity.time_zone %}

如果这确实是问题,你可以升级Django,如果可能的话,你可以使用this smartif templatetag,它实现比较操作,如Django> = 1.2。该链接包含有关如何使用它的说明。您可能需要执行自定义过滤器或其他方法来获取not in功能,因为它看起来不像smart_if那样。