Можно ли использовать пользовательские теги шаблона 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, но я не пробовал ваш вариант использования.

Другие вопросы по тегам