Макрос Jinja для создания формы из объекта JSON - PullRequest
0 голосов
/ 25 января 2020

Я нашел несколько решений на основе javascript для генерации HTML форм из JSON (т.е. Альпака , JSON -редактор ...). Я искал что-то, используя шаблоны Jinja и макросы .

Что-то вроде (просто для иллюстрации):

{% macro JSON_to_form(field) %}

    {% if field.type == "select" %}
        <label>{{ field.label }}</label>
        <select class="{{ field.class }}">
        {% for k, v in field.options.items() %}
            <option  value="{{ k }}"  
                       {% if k == field.default %} selected {% endif %}>{{ v }}
            </option>
        {% endfor %}
        </select>
    {% elif field.type == "text" %}
        ...
    {% endif %}
{%- endmacro %}

, где аргумент "field" - это JSON объект, такой как

{"label": "Select your option",
 "type": "select",
 "default": "2",
 "options": {
     "-1": "Opt 0",
     "1": "Opt 1",
     "2": "Opt 3"
            }
 }

I нашел этот вопрос с похожим названием, но он не спрашивает, о чем я спрашиваю.

Мои вопросы:

  1. Чтобы не изобретать велосипед, Есть ли что-то уже доступное в этом отношении?
  2. Есть ли основания избегать такого подхода и предпочитать js решения (т.е. безопасность, надежность ...)?

Спасибо

...