Я использую jinja2 для своего движка шаблонов в Python.
я хотел бы присоединиться, содержание нескольких блокируются и хотел бы представить его в конце шаблона, незадолго до тега. {Они - различные отрывки JavaScript всюду по коду в нескольких, обрабатывают по шаблону, который я хотел бы переместить в конец файла, как я делаю это?}
редактирование:
Я хотел бы переместить весь свой встроенный JavaScript, которые создаются в дочерних шаблонах Джинджи. Я хотел бы переместить их в конец страницы. таким образом, я создал блок в родительском шаблоне в конце страницы и использования его в дочернем шаблоне для записи JavaScript. но, могут быть несколько ребенок, и так несколько блоков JavaScript, и поскольку несколько блокируются, не делает поддерживаемый в jinja2, каково другое решение, я имею?--------одна альтернатива, я думаю, должна создать сам JavaScript таким способом, которым это не должно быть встроено.
Я предполагаю, что под несколькими дочерними шаблонами вы подразумеваете шаблоны, наследующие от шаблонов, наследующих от шаблонов... наследующих от базового шаблона. Если это так, то вам нужно определить один и тот же блок javascript
в каждом шаблоне и вызвать super()
во всех дочерних, в дополнение к добавлению большего количества JavaScript. Вызов super()
печатает вывод родительского блока javascript
и так далее по цепочке наследования. По пути каждый блок может добавлять свой собственный код.
Таким образом, в каждом шаблоне может быть что-то вроде этого:
{% block javascript %}
{{ super() }}
function foo(x, y) {
return x + y;
}
{% endblock %}