Можно ли использовать пользовательские теги шаблона django для вставки кода в другие блоки в шаблоне?
Я пишу пользовательский тег шаблона, который оборачивает HTML-элемент некоторым кодом, чтобы сделать его редактируемым. Это поддерживается некоторым CSS и JS, который заботится об отправке данных на сервер для их сохранения.
Этот компонент требует включения
<script type="text/javascript" src="../myscript.js"></script>
внизу страницы и
<link rel="stylesheet" type="text/css" href="../mystyle.css">
на вершине.
У меня уже есть два блока шаблона "js" и "css" в шаблоне страницы.
Мой вопрос - есть ли способ, чтобы пользовательский тег шаблона включал эти сценарии один раз в соответствующие блоки страницы, если мой тег присутствует?
То есть я вставил:
{ % mytag %} <div>editable element</div> { % endmytag %}
а блоки шаблонов "js" и "css" заполняются соответствующими тегами script\link?
(Я не хочу предварительно включать их на каждой странице, так как только некоторые из моих страниц будут использовать этот тег)
1 ответ
Вы можете попробовать использовать Django-Sekizai из шаблона, который отображает ваш пользовательский тег, чтобы добавить файлы CSS и JS в другой блок, для чего и предназначен Sekizai. Я широко использую его в проектах на основе Django-CMS, но я не пробовал ваш вариант использования.