Django模板,如何选择预定义值的下拉框?

Hoa*_*ham 6 python django django-templates

我正在尝试创建一个下拉列表框,其中所选值等于从模板值传递的值,但没有成功.任何人都可以看看,告诉我我做错了什么.

     <select name="movie">
       {% for movie in movies %}
    {% ifequal movie.id selected_movie.id %}
     <option value="{{movie.key}}" selected="true">Movie {{movie.id}}: {{movie.name}}</option>
     {% endifequal %}
     {% ifnotequal movie.id selected_movie.id %}
     <option value="{{movie.key}}">Movie {{movie.id}}: {{movie.name}}</option>
     {% endifnotequal %}
       {% endfor %}
     </select>
Run Code Online (Sandbox Code Playgroud)

在此示例中,电影和selected_movie从模板值传递.请指教!

Gui*_*ert 12

你的代码适用于django 1.0.2和firefox 3.5.

您可以使用{%else%}代替{%ifnotequal%}并设置selected ="selected".希望能帮助到你.

<select name="movie">
    {% for movie in movies %}
        {% ifequal movie.id selected_movie.id %}
            <option value="{{movie.key}}" selected="selected">Movie {{movie.id}}: {{movie.name}}</option>
        {% else %}
            <option value="{{movie.key}}">Movie {{movie.id}}: {{movie.name}}</option>
        {% endifequal %}
    {% endfor %}
</select>
Run Code Online (Sandbox Code Playgroud)

  • 您应该内联ifequal语句,因此您只有一个选项标记.干.:) (4认同)