0

在我的模板中,我添加了以下调试语句:

<script>
  console.log("leaderboard? {{ client_settings.LEADERBOARD_ENABLED }}");
</script>

在控制台上,我看到:

[14:09:20.026] "leaderboard? false"

稍后在我的代码中,我有以下代码:

{% if client_settings.LEADERBOARD_ENABLED %}
<button data-theme='a' onClick="$('.leaderboard').slideDown();">Leaderboard</button>
{% endif %}

我认为这会导致排行榜按钮不出现......但确实如此!谁能明白这是为什么?

4

1 回答 1

4

boolean false 的 Python 值是字符串化的“False”,大写 F。由于您的控制台语句中的“false”带有小写 f,因此 valueclient_settings.LEADERBOARD_ENABLED可能是 string "false",这将被解释为 boolean True。

改变这一点的 Pythonic 方法是在设置变量时使用True和,而不是字符串和. 如果这不可行,您可以将模板测试更改为:FalseLEADERBOARD_ENABLED"true""false"

{% if client_settings.LEADERBOARD_ENABLED == "true" %}
于 2013-08-28T21:17:26.483 回答