Можно ли смоделировать элементы, подобные списку / диктовке, в формах HTML? - PullRequest
0 голосов
/ 07 июня 2019

Я написал скрипт на python, который создает конфигурацию переключателей из файлов .yaml. И я не уверен, как создать веб-форму, которая соответствует моим потребностям.

Я полностью открыт, как этого добиться. Мне просто нужен способ опубликовать значения в моем скрипте Python.

Моя HTML-форма выглядит так:

<form method="POST">
<input type="text" name="port"></input>
<input type="text" name="port.mode"></input>
</form>

Опубликованные данные попадают в Flask следующим образом: [('port', 'Port1'), ('port.mode', 'Access')]

Я бы хотел получить такие данные: {"ports": {"port1": {"mode": "Access"}}}

++ Update Я уже использую Jinja для создания шаблона. Образец шаблона дзиндзя:

{%- for name,options in ports.items() %}
interface {{ name }}
{%- if options.mode == 'access' %}
switchport mode access
{% else %}
switchport mode trunk
{% endif %}

Моя проблема - между формой HTML и механизмом шаблонов. Я не уверен, как смоделировать мою форму HTML, чтобы соответствовать моим потребностям.

2 способа, которыми я могу думать об этом. 1. Измените запрос HTTP Post в Javascript перед отправкой 2. Написание кода Python на стороне сервера, чтобы привести данные HTTP-сообщения в правильную форму для моего шаблона jinja.

Но я полностью открыт для метода, которым я пользуюсь. Я не ограничен флягой, дзиндзя и питоном.

1 Ответ

0 голосов
/ 07 июня 2019

это решение?

In [1]: x = [('port', 'Port1'), ('port.mode', 'Access')]
In [2]: {x[0][0]: {x[0][1]: {x[1][0]: x[1][1]}}}
Out[2]: {'port': {'Port1': {'port.mode': 'Access'}}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...