在我的模板中,我添加了以下调试语句:
<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 %}
我认为导致排行榜按钮不出现......但确实如此!谁能明白这是为什么?
答案 0 :(得分:4)
boolean false的Python值用大写字母F字符串化为“False”。由于你的控制台语句的“false”是小写的f,client_settings.LEADERBOARD_ENABLED
的值可能是字符串"false"
,将被解释为布尔值True。
Pythonic更改此方法的方法是在设置True
变量时使用False
和LEADERBOARD_ENABLED
,而不是字符串"true"
和"false"
。如果这不可行,您可以将模板测试更改为:
{% if client_settings.LEADERBOARD_ENABLED == "true" %}