0

Python で Web サイトを構築していて、単純なボックスを作成したいと考えてい<select>ます。

これが私のコードです:

<td>Posts Per Page</td>
<td>
    {{ g.blogOptions['posts_per_page'] }}
        <select name="posts_per_page">                        
            {% for counter in range(5, 20, 5) %}
                <option value="{{counter}}" {{ "selected=true" if counter == g.blogOptions['posts_per_page'] else '' }}> {{ counter }}</option>
            {% endfor %}
        </select>
</td>

このコードの 3 行目では出力されます10が、forループではヒットifせず、書き込みもされません。selected=true

どうすればこれを修正できますか?

4

1 に答える 1

1

使用したい{% if %}/ {% endif %}

<select name="posts_per_page">                        
    {% for counter in range(5, 20, 5) %}
        <option value="{{counter}}" {% if counter == g.blogOptions['posts_per_page']  %} selected="selected" {% endif %}> {{ counter }}</option>
    {% endfor %}
</select>

g.blogOptions['posts_per_page']それが整数であることを確認してください。代わりに文字列の場合は、キャストする必要があります。

{% set posts_per_page = int(g.blogOptions['posts_per_page']) %}
<select name="posts_per_page">                        
    {% for counter in range(5, 20, 5) %}
        <option value="{{counter}}" {% if counter == posts_per_page  %} selected="selected" {% endif %}> {{ counter }}</option>
    {% endfor %}
</select>
于 2013-03-03T22:07:13.267 に答える