Я нашел несколько решений на основе 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 нашел этот вопрос с похожим названием, но он не спрашивает, о чем я спрашиваю.
Мои вопросы:
- Чтобы не изобретать велосипед, Есть ли что-то уже доступное в этом отношении?
- Есть ли основания избегать такого подхода и предпочитать js решения (т.е. безопасность, надежность ...)?
Спасибо