Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Не обрабатывается Django блок с jQuery кодом в шаблонах. [RSS Feed]

#1 Ноя. 7, 2012 20:56:16

MikaMika
Зарегистрирован: 2012-11-07
Сообщения: 51
Репутация: +  0  -
Профиль   Отправить e-mail  

Не обрабатывается Django блок с jQuery кодом в шаблонах.

Привет.
Есть основной шаблон 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>
И шаблон который наследует base.html,назовем его home.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 %}
Функция jQuery.ready(), она же $(function(){}) cрабатывает когда DOM страницы полностью сформирована.
Открываю сайт, рендерится шаблон 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 %}
стоит перед закрывающим тегом <BODY> и он обрабатывается.

Отредактировано MikaMika (Ноя. 7, 2012 20:57:09)

Офлайн

#2 Ноя. 9, 2012 20:42:35

MikaMika
Зарегистрирован: 2012-11-07
Сообщения: 51
Репутация: +  0  -
Профиль   Отправить e-mail  

Не обрабатывается Django блок с jQuery кодом в шаблонах.

Проблема была в вызове несуществующей функции в одном из подключаемых в <BODY> javascript файлов.
Видимо вызов этой функции “портил” формирование структуры DOM.
Убрал вызов функции, все заработало.

Офлайн

  • Начало
  • » Django
  • » Не обрабатывается Django блок с jQuery кодом в шаблонах.[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version