如何在动态下拉Django模板中设置已选择的值(更新表单)

gam*_*mer 4 python django dynamic django-templates

在 django 模板中,我显示这样的下拉菜单。我的所有下拉属性名称都在变量中event_dropdown。我像这样分配代码

<select  name="event_value" >
             <option value="">---------</option>
                 {% for event in event_dropdown %}
             <option value="{{ event.id }}">{{ event.name }}</option>
                  {% endfor %}
         </select>
Run Code Online (Sandbox Code Playgroud)

现在问题是更新案例中我如何在此处显示我已经选择的值?因为所有的事情都在 for 循环中

Wil*_*sem 5

我们可以将selected属性添加到已选择的值中,例如:

<select  name="event_value" >
    <option value="">---------</option>
    {% for event in event_dropdown %}
    <option value="{{ event.id }}"{% if event.id == selected_id %}selected{% endif %}>
        {{ event.name }}
    </option>
    {% endfor %}
 </select>
Run Code Online (Sandbox Code Playgroud)

元素的selected_id是哪里。id

如果可以有多个 selected id,我们可以制作一个列表或一组selected_ids,然后使用:

<select  name="event_value" >
    <option value="">---------</option>
    {% for event in event_dropdown %}
    <option value="{{ event.id }}"{% if event.id in selected_ids %}selected{% endif %}>
        {{ event.name }}
    </option>
    {% endfor %}
 </select>
Run Code Online (Sandbox Code Playgroud)