Вставить список в список автозаполнения 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) + ']'}}"
Другие вопросы по тегам