【发布时间】:2012-01-30 19:09:21
【问题描述】:
感谢您的帮助。 我的问题是由于某种原因我的代码没有在模板中执行我的 if 语句:
{% if {{game.player}} == {{user.username}} %}
<a href="/game/stop/">Stop this game</a>
{% else %}
current user: {{ user.username }}
game by: {{ game.player }}
{% endif %}
执行“else”语句时,user.username 确实是 = game.player,但由于某种原因,if 语句没有执行。我确实尝试过在 game.player 周围没有 {{ }} 并使用 ' ' 只是为了匹配字符串。但它不起作用,我很困惑!
感谢您的宝贵时间:) 布拉吉布拉
【问题讨论】:
-
我会 guess
{% if game.player == user.username %}将是这样做的有效方式,基于demos。 -
这甚至不接近合法使用 Django 模板引擎。您应该查看docs.djangoproject.com/en/1.3/ref/templates/builtins/#if 文档以了解如何在 if 构造中引用变量。然后根据您阅读的内容更新您的问题。
-
谢谢大家:)我也试过了,但没有成功,但也许还有另一个问题,谢谢你的时间! x
-
@blargie-bla
game.player是用户的 FK 吗?如果是这样,那么您将需要game.player.username之类的东西来获取用户名,并需要game.player == user来测试是否相等。 -
是的,它是:) 在我的游戏玩家模型中 = models.ForeignKey(User)。谢谢你的建议,马上去试试!:)
标签: django string-matching if-statement