У меня есть тег, который похож на это:
{% partial "partials/vehicleform.html" vehicle=vehicles.empty_form %}
Который просто представляет пустую форму. Но теперь я хочу передать вывод этого к escapejs
отфильтруйте так, чтобы я мог использовать его в переменной JavaScript. Как я могу сделать это?
Многие теги поддерживают как имя переменной
, то есть просто поместите как имя переменной
в конце тега, а затем вывод этого тега помещается в переменную, а не отображается .
Этот тег {% 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 }}
Другое решение для передачи данных в переменную 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-символами.