Совместная реализация шаблонов Django и JQuery - PullRequest
0 голосов
/ 17 июля 2011

Я работаю над сайтом, который использует AJAX для получения данных с сервера и отображения их на странице. Django отображает начальный контент страницы с помощью своего механизма шаблонов (поэтому он будет проиндексирован поисковыми системами). Когда пользователь выполняет действие, jQuery извлекает новые данные через AJAX, и ответ возвращается как JSON. Я бы хотел, чтобы jQuery отображал этот новый контент без нарушения DRY принципа . Поэтому я хотел бы использовать шаблонизатор, который «разделяется» между Django и jQuery. Я бегал кругами, пытаясь найти лучшее решение, но всегда сталкивался с препятствиями на дороге.

Это уже было сделано? Вот варианты, о которых я подумал:

  • Используйте регулярные выражения для преобразования шаблона Django в правильный синтаксис шаблона jQuery и отображения его в необработанном виде на странице. Затем jQuery подберет его и использует для рендеринга новых данных.
  • Расширение механизма шаблонов jQuery для распознавания синтаксиса шаблона Django, снова отображая необработанный шаблон Django на странице для использования jQuery.

Это было успешно сделано раньше? В любом случае кажется, что для всего, кроме простейших шаблонов Django, требуется много работы из-за множества тегов и фильтров Django, которые необходимо учитывать.

Ответы [ 2 ]

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

Лучше всего выбрать язык шаблонов, поддерживающий Javascript и Python, и использовать его повсюду.

Насколько я знаю, Усы - ваша лучшая ставка.

0 голосов
/ 28 августа 2011

Я не нашел идеального решения с тех пор, как задал этот вопрос, но ради времени разработки я прибегнул к отправке обратно JSON и HTML в ответе AJAX.Таким образом, шаблоны django по-прежнему выполняют генерацию HTML, но javascript по-прежнему может свободно использовать данные без необходимости разбора HTML.

Я отправляю данные примерно вдвое по сети, но собираюсьжить с этим, пока мое приложение не вырастет до такой степени, что меньший ответ является полезным.В этот момент я, вероятно, рассмотрю что-то вроде усов, как упоминал Роб.

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