concat несколько блокируются в jinja2?

Я использую jinja2 для своего движка шаблонов в Python.

я хотел бы присоединиться, содержание нескольких блокируются и хотел бы представить его в конце шаблона, незадолго до тега. {Они - различные отрывки JavaScript всюду по коду в нескольких, обрабатывают по шаблону, который я хотел бы переместить в конец файла, как я делаю это?}

редактирование:

Я хотел бы переместить весь свой встроенный JavaScript, которые создаются в дочерних шаблонах Джинджи. Я хотел бы переместить их в конец страницы. таким образом, я создал блок в родительском шаблоне в конце страницы и использования его в дочернем шаблоне для записи JavaScript. но, могут быть несколько ребенок, и так несколько блоков JavaScript, и поскольку несколько блокируются, не делает поддерживаемый в jinja2, каково другое решение, я имею?--------одна альтернатива, я думаю, должна создать сам JavaScript таким способом, которым это не должно быть встроено.

10
задан iamgopal 29 June 2010 в 05:06
поделиться

1 ответ

Я предполагаю, что под несколькими дочерними шаблонами вы подразумеваете шаблоны, наследующие от шаблонов, наследующих от шаблонов... наследующих от базового шаблона. Если это так, то вам нужно определить один и тот же блок javascript в каждом шаблоне и вызвать super() во всех дочерних, в дополнение к добавлению большего количества JavaScript. Вызов super() печатает вывод родительского блока javascript и так далее по цепочке наследования. По пути каждый блок может добавлять свой собственный код.

Таким образом, в каждом шаблоне может быть что-то вроде этого:

{% block javascript %}
    {{ super() }}

    function foo(x, y) {
        return x + y;
    }
{% endblock %}
19
ответ дан 3 December 2019 в 20:02
поделиться
Другие вопросы по тегам:

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