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

ブール値 false の Python 値は、大文字の F で文字列化された "False" です。コンソール ステートメントには小文字の f を使用した "false" があるため、値client_settings.LEADERBOARD_ENABLEDはおそらく string"false"であり、ブール値の True として解釈されます。

これを変更する Pythonic の方法は、変数を設定するときに、文字列andの代わりにTrueandを使用することです。それが不可能な場合は、テンプレート テストを次のように変更できます。FalseLEADERBOARD_ENABLED"true""false"

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