Как сохранить данные в шаблонах Django в раскрывающемся меню? - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь сохранить данные формы в шаблоне регистрации в проекте Django.Я использую заявления имбиря, такие как {{old_data. [Data]}}.У меня нет проблем с этим при обычном вводе текста (вот так):

<div class="form-group">
    <input type="text" name="zip_code" id="zip_code" class="form-control input-sm" placeholder="Zip" value="{{ old_data.zip_code }}">
</div>

И с текстовой областью (вот так):

<textarea type="area" name="area" id="area" class="form-control 
textarea" rows="3" placeholder="Please tell us briefly in what part 
of town you live and how far you are willing to travel for 
rehearsals and performances. i.e., 'I live in the Heights but I'm 
willing to drive anywhere within the loop.'">{{ old_data.area }} 
</textarea>

Но я не могу понять, как это сделатьс выпадающим меню.Вот мой текущий код:

<select class="form-control" name="primary_instrument" id="primary_instrument" placeholder="Primary instrument" value="{{ old_data.primary_instrument }}">
<option selected disabled>Primary instrument</option>
    {% for instrument in instruments %}
        <option value='{{ instrument.id }}'>{{ instrument }}</option
    {% endfor %}
</select>

Пожалуйста, помогите!

1 Ответ

0 голосов
/ 30 января 2019

Вы можете перебрать его и проверить для каждого элемента, соответствует ли значение значению этой опции, если это так, вы добавляете атрибут selected:

<select class="form-control" name="primary_instrument" id="primary_instrument" placeholder="Primary instrument">
<option selected disabled>Primary instrument</option>
    {% for instrument in instruments %}
        <option value='{{ instrument.id }}' <b>{% if instrument.id == old_data.primary_instrument %}selected{% endif %}</b>>{{ instrument }}</option>
    {% endfor %}
</select>

Обратите внимание на{% if instrument.id == old_data.primary_instrument %}selected{% endif %}.Таким образом, мы проверяем, совпадает ли значение, и если да, то добавляем атрибут selected к тегу <option>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...