Я пытаюсь вставить шаблоны jQuery в Jinja2 шаблоны. Увы, они оба (в настройках по умолчанию) используют усы {{
& }}
для обозначения выражений и литералов соответственно.
Я вставляю свои шаблоны jQuery в HTML с тегами script
, например:
<script type='text/x-jquery-template'>
<div>The people are:
{{ each people }}
${$value}
{{ /each }}
</div>
</script>
Однако, если вышеприведенное есть в шаблоне Jinja, оно отклоняется, потому что Jinja пытается интерпретировать each
как литерал.
В сложившихся обстоятельствах (у нас уже много шаблонов) нецелесообразно менять начальный и конечный разделители Jinja2 для переменных. Кроме того, это сбивает с толку, снижает совместимость и требует дополнительного обучения. Желательно избегать этой опции.
Итак, две альтернативные вещи, о которых я подумал, чтобы решить эту проблему:
Jinja2 избегает каждого '{{' и '}}', что я не совсем уверен, как сделать лучше ("{{" {{"}}`, возможно, но это многословно);
Более практичным - возможно, идеальным - было бы сказать Jinja2 , а не анализировать блок кода, возможно, с помощью расширения jQuery.
Буду благодарен за мысли и отзывы. Спасибо за чтение.