Вставить список в список автозаполнения HTML с помощью цикла для веб-сайта Flask
Я пытаюсь создать список функций автозаполнения для размещения на моей веб-странице через Python и Jinja2(через Flask)
Данные:
data_list=['router1 | location - tx | model A | xxserialxx | 10.0.0.1 | ',
'router2 | location - mo | model A | xxserialxx | 10.0.0.2 | ',
'router3 | location - ca | model B | xxserialxx | 10.0.0.3 | ',
'router4 | location - fl | model A | xxserialxx | 10.0.0.4 | ',
'router5 | location - ny | model B | xxserialxx | 10.0.0.5 | ']
Это внешний вид по умолчанию, который поставляется с моим шаблоном:
<input class="form-control" placeholder="Type something..." type="text"
data-autocomplete='[
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"]'>
Я старался:
<input class="form-control" placeholder="Type something..." type="text"
data-autocomplete='[{% for item in data_list %}
"{{item}},"]' {% endfor %}>
И ничего не происходит, я загружаю HTML и "data-autocomplete=
"равняется ничему..
Логика этого определенно неверна, я это вижу.
Я не смог найти много документации о том, как поместить цикл в список, например структуру, используя Jinja.
Я думаю, что это совершенно неправильный способ сделать это. Помогите?
Желаемый результат:
<input class="form-control" placeholder="Type something..." type="text"
data-autocomplete='[
"router1 | location - tx | model A | xxserialxx | 10.0.0.1 | ",
"router2 | location - mo | model A | xxserialxx | 10.0.0.2 | ",
"router3 | location - ca | model B | xxserialxx | 10.0.0.3 | ",
"router4 | location - fl | model A | xxserialxx | 10.0.0.4 | ",
"router5 | location - ny | model B | xxserialxx | 10.0.0.5 | ",]'>
1 ответ
Решение
Вы можете использовать метод join и даже не использовать цикл for. Попробуй это:
data-autocomplete="{{'[' + ','.join(data_list) + ']'}}"