Выполнение кода javascript, присутствующего в дочернем шаблоне, после отрисовки основного шаблона
У меня есть базовый шаблон, который служит общей структурой для дочерних шаблонов. Внутри этого базового шаблона библиотека jQuery включена непосредственно перед закрывающим тегом body
.
базовый шаблон
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
.
.
</head>
<body>
{% block content %}
{% endblock %}
<script src="path/to/jQuery/library"></script>
</body>
</html>
Теперь мой дочерний шаблон имеет следующий код
дочерний шаблон
{% extends 'base_template.html' %}
{% block content %}
<h1>How you doing?</h1>
<script type="text/javascript">
// this code is specific to this template, may not be used in another template
// but can't use jQuery here since the library hasn't loaded yet
</script>
{% endblock %}
Итак, как мне выполнить код javascript внутри child template
только после того, как базовый шаблон закончит загрузку библиотеки jQuery?
Вам необходимо использовать 2 блока:
base
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
.
.
</head>
<body>
{% block content %}
{% endblock %}
<script src="path/to/jQuery/library"></script>
{% block scripts %}
{% endblock %}
</body>
</html>
child_template
{% extends 'base_template.html' %}
{% block content %}
<h1>How you doing?</h1>
{% endblock %}
{% block scripts %}
<script type="text/javascript">
// this code can "use" jquery
</script>
{% endblock %}