我在What is wrong with my Django templating use of if's?询问我的条件有什么问题,到目前为止,每一个回答都是,“这就是你如何为我给出的标本更加诡异地编码。他们没做的甚至暗示为什么我的条件错了,可以改进。
“{%if”:“not in url.url%}”和“{%if time_zone.0 == entity.time_zone%}”都得到“'if'语句格式不正确”错误。这是什么?如何调整条件以使它们不会崩溃。
答案 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那样。