1

テンプレートに渡された辞書の値に基づいてボタンを表示/非表示にするにはどうすればよいですか?

self.render('menu.html',menu=menu)

メニューが次のように渡される場所

menu = {'attack': False, 'intercept': False, 'follow': False, 'go': False, 'enter_village': False, 'send_backup': False, 'safe_zone': False}

そしてテンプレートで私は持っています

    <div class="ui-grid-b">

        <div data-role="button" id="attack" {% if {{menu['attack']}} %}
             style='display:block;'{% else %}style='display:none;'{% end %}  >Attack</div>
        <div data-role="button" id="intercept">Intercept</div>
        <div data-role="button" id="follow">Follow</div>
        <div data-role="button" id="go">Go</div>
        <div data-role="button" id="enter_village">Enter Village</div>
        <div data-role="button" id="send_backup">Send Backup</div>

    </div>

そしてそれは機能しません(TypeError:unhashable type:'set')、{{menu.attack}}に変更すると、dictでキーアタックなしのエラーが発生します(ただし、その値とdictを渡したので、デバッグしましたレンダリングポイント)。

4

1 に答える 1

3

構文の問題があります。

タグ{%を宣言したら、 {{ }}宣言は必要ありません。

{% if menu['attack'] %}
于 2013-01-10T02:37:11.033 に答える