Как отфильтровать тег шаблона?

У меня есть тег, который похож на это:

{% partial "partials/vehicleform.html" vehicle=vehicles.empty_form %}

Который просто представляет пустую форму. Но теперь я хочу передать вывод этого к escapejs отфильтруйте так, чтобы я мог использовать его в переменной JavaScript. Как я могу сделать это?

8
задан mpen 10 August 2010 в 16:29
поделиться

2 ответа

Многие теги поддерживают как имя переменной , то есть просто поместите как имя переменной в конце тега, а затем вывод этого тега помещается в переменную, а не отображается .

Этот тег {% partial%} может это поддерживать. Вот пример, если это так:

{% partial "partials/vehicleform.html" vehicle=vehicles.empty_form as myvar %}{{ myvar|escapejs }}

Если рассматриваемый тег - это фрагмент «Частичный тег» , то, похоже, он не поддерживает это. Но, вероятно, его можно было бы переписать, чтобы поддержать его.

Вы можете использовать фрагмент « Вывод шаблона захвата как переменную », а затем применить фильтр к захваченному содержимому, например:

{% captureas myvar %}{% partial "partials/vehicleform.html" vehicle=vehicles.empty_form  %}{% endcaptureas %}{{ myvar|escapejs }}
15
ответ дан 5 December 2019 в 10:00
поделиться

Другое решение для передачи данных в переменную JS:

<div class="display:none" id="empty-vehicle-form">{% partial "partials/vehicleform.html" vehicle=vehicles.empty_form %}</div>

Затем захватите и удалите его одновременно

var empty_form = $('#empty-vehicle-form').remove().html();

Преимущество этого решения в том, что другие ваши сценарии JS могут предварительно обрабатывать перед тем, как вырвать его из DOM. escapejs также создает файлы большего размера со всеми этими escape-символами.

1
ответ дан 5 December 2019 в 10:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: