Динамическое заполнение выпадающего списка из списка с помощью Jinja - PullRequest
2 голосов
/ 11 января 2020

У меня есть приложение Flask, которое по одному из своих маршрутов создает список данных, которые я затем хотел бы отобразить в раскрывающемся меню интерфейса пользователя. Проблема в том, что в каждом списке будет разное количество элементов, которые будут заполнять одно и то же выпадающее меню. Например, у одной учетной записи пользователя может быть три элемента, а у другой - двадцать.

Мой маршрут выглядит следующим образом:

@app.route("/test", methods=['GET', 'POST'])
def test():

    #list with 10 items is generated here



return render_template('test.html', title="test", list=list)

Мой HTML должен выглядеть примерно так:

{% for x in list %}
<select>
<option value="tester">tester1</option>
<option value="tester2">tester2</option>
<option value="tester3">tester3</option>
<option value="tester4">tester4</option>
</select>
{% endfor %}

В моем списке, который я передал шаблону, есть десять элементов, как указано в комментарии в моем первом разделе кода (это Dynami c - может быть любым числом в следующий раз), и мое количество вариантов для мой выпадающий статус c. Какое лучшее программное c решение для динамического заполнения этого раскрывающегося списка (пожалуйста, не включайте ответы с использованием EXCEL или базы данных)?

1 Ответ

2 голосов
/ 11 января 2020

Вы можете использовать следующий синтаксис для l oop ваш список

<select>
    {% for x in list %}
    <option value="{{x.id}}">{{x.text}}</option>
    {% endfor %}
</select>
...