#jinja2
#jinja2
Вопрос:
У меня есть словарь значений, некоторые значения являются целыми числами, некоторые — строками, некоторые — логическими. В моем шаблоне jinja2 я в настоящее время использую это:
{% for key, value in account.properties.items() %}
<property key="{{ key }}" value="{{ value|string }}"/>
{% endfor %}
Проблема в том, что я хочу, чтобы все логические значения были в нижнем регистре, все остальное должно оставаться нормальным. Прямо сейчас я получаю False
и True
вместо false
и true
.
Я также пробовал с to_json, но тогда строковые значения имеют кавычки и целое число, а bool — нет, поэтому для приведенного выше примера у меня есть «»строка»», которая также является чем-то, чего я не хочу.
Ответ №1:
Теперь я использую to_json и replace для удаления кавычек. Тем не менее, я думаю, это может быть потенциальной проблемой для строк с экранированными кавычками, например `»foo «bar». Но на данный момент я не знаю, есть ли они.
value="{{ value | to_json | replace(""", "") }}"