【问题标题】:can I use {{stuff}} in {% statements %} in django?我可以在 django 的 {% statements %} 中使用 {{stuff}} 吗?
【发布时间】: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


【解决方案1】:

你想要:

{% if game.player == user.username %}

【讨论】:

  • 谢谢您:) 由于某种原因,它也不是这样工作的:可能是其他问题。但谢谢! x
猜你喜欢
  • 2011-12-12
  • 2023-03-10
  • 2023-03-11
  • 1970-01-01
  • 2017-03-20
  • 1970-01-01
  • 2014-08-19
  • 1970-01-01
  • 2020-09-26
相关资源
最近更新 更多