Я пытаюсь вставить jQuery templates в 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.
Буду благодарен за мысли и отзывы. Спасибо, что прочитали.