Django - загружать фрагменты страницы, используя Ajax / Ajah - PullRequest
2 голосов
/ 03 декабря 2010

У меня сложная страница, где некоторые части страницы загружаются дольше. Я думал об использовании подхода AJAH и загрузке фрагментов с помощью jQuery после загрузки начальной страницы. Тогда я понял, что это должно быть довольно распространенной проблемой. Как насчет чего-то вроде {% includeajax "sometemplate.html"%}?

Это означает, что нужно загрузить «sometemplate.html», используя AJAH / AJAX. Разве это не крутой тэг? Есть идеи?

Я знаю, как это реализовать, было бы неплохо иметь такой многократно используемый тег. Знаете ли вы о каком-то другом простом способе достижения этого?

Спасибо

Ответы [ 2 ]

1 голос
/ 11 августа 2011

Я сделал промежуточное ПО и тег шаблона для этого:

{% delayed_block big_table %}
    Real content. It will be loaded by Javascript at document.ready event.
{% delayed_stub %}
    Stub content that is rendered immediately.
{% enddelayed_block %}

Когда страница загружена, часть Javascript замечает специальный класс и запрашивает его с сервера, делает запрос с помощью ?partial=big_table параметр.Когда big_table находится в параметрах partial, этот блок отображает реальное содержимое.Промежуточное программное обеспечение перехватывает выходные данные, извлекает только этот блок и упаковывает его в JSON.Затем модуль Javascript помещает его в нужное место.

Проект называется django -partal-page .Часть django - это яйцо, а модуль Javascript находится в example/media/js/partial.js.

0 голосов
/ 03 декабря 2010

Я бы указывал на представление вместо шаблона в стиле url.Тег шаблона может генерировать фальшивую HttpRequest, которую он может отправить в представление, а затем включить содержимое ответа в шаблон.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...