Здесь у вас есть два варианта - первый способ, которым вы это сделали - просто добавьте соответствующую разметку в шаблон (или блок, если вы хотите иметь возможность переопределить ее в шаблонах, которые расширяют ваш первый шаблон.)
Второй способ - использовать функцию Jinja2 include
:
{% block javascript %}
<script type="text/javascript">
{% include "myscript.js" %}
</script>
<!-- The contents of myscript.js will be loaded inside the script tag -->
{% endblock %}
Преимущество использования include
состоит в том, что Jinja2 будет обрабатывать ваш javascript перед его включением - это означает, что в вашем javascript могут быть переменные, которые меняются в зависимости от состояния вашей программы.
Недостаток использования include
таким же образом - ваш .js
файл будет проходить через Jinja2 перед отправкой - если вы не используете динамический контент, вы просто будете без необходимости обрабатывать файл для каждый запрос - и если вы используете библиотеку шаблонов javascript с синтаксисом Jinja2, то проблема, скорее всего, *. 1014 *