Есть основной шаблон base.html:
<HTML> <HEAD> <TITLE>Hello world!</TITLE> {% block extra_head_js %} {% endblock %} </HEAD> <BODY> {% block extra_body_js %} <script type="text/javascript"> $(function(){ alert('base.html DOM ready!'); }); </script> {% endblock %} </BODY> </HTML>
{% extends 'base.html' %} {% block extra_head_js %} <script type="text/javascript"> $(function(){ alert('home.html in HEAD!'); }); </script> {% endblock %} {% block extra_body_js %} <script type="text/javascript"> $(function(){ alert('home.html in BODY!'); }); </script> {% endblock %}
Открываю сайт, рендерится шаблон base.html и появляется сообщение “base.html DOM ready!”.
Потом рендерится home.html, появляется сообщение “home.html in HEAD!”.
И вот тут вопрос!
Почему не появляется следующее сообщение “home.html in BODY!”?
Получается странно! Если вставить блок в <HEAD></HEAD>, то все работает, а если в конец, перед закрывающим <BODY>, то нет!
При этом в base.html блок:
{% block extra_body_js %} <script type="text/javascript"> $(function(){ alert('base.html DOM ready!'); }); </script> {% endblock %}