Шаблоны Javascript с Джанго - PullRequest
4 голосов
/ 30 июня 2011

Я бы очень хотел использовать систему шаблонов Javascript вместе с Django. Синтаксис и стиль Mustache.js (и его производных) действительно подходят мне. Проблема в том, что тэг-разделитель, используемый Мустахом, плохо сочетается с синтаксисом системы шаблонов Django.

Есть ли хороший способ использовать их вместе?

Я попытался использовать этот дословный фрагмент для правильной визуализации шаблонов JS. Проблема с этим решением в том, что мне все еще иногда нужны переменные или URL-адреса Django внутри JS.

Я также попытался изменить разделитель для усов с помощью

{{=[[ ]]=}}

Однако это не позволяет использовать теги раздела, например {{#}}. Автор заявил, что намерен полностью исключить эту возможность в будущих версиях.

Существуют ли какие-либо библиотеки шаблонов для Javascript, которые тесно связаны с Mustache.js, но используют разные разделители? Или есть другое решение для изменения разделителей, которые использует Mustache.js?

Ответы [ 3 ]

4 голосов
/ 30 июня 2011

Я использовал шаблоны jquery с django.В конечном итоге я решил, что лучший способ это:

  • поместить весь javascript в статические файлы javascript и обработать их без какой-либо обработки на сервере
  • в шаблонах django доставить все html-хуки (идентификаторыили классы), но без js.
  • в js используйте «document.ready» плюс селекторы jquery для вставки тегов на страницу и прикрепления событий
  • , если js нужны данные, затем выполните вызов ajax,

Я смягчил последний и мог бы встроить данные в виде блока json в шаблон django и, возможно, также иметь короткие j в нижней части шаблона, которые не более чем устанавливают переменные /параметры для указания js, как визуализировать страницу - небольшие подсказки со стороны сервера, говорящие, что делать.

Таким образом:

  1. конфликт между escape-символами становится проблемой
  2. вам не нужно задавать себе вопрос: «Этот код работает на сервере или на клиенте», потому что вы не пытаетесь записать оба сразу в один файл
  3. вашJavaScript-код обязательно лучше структурирован и может использоваться повторно
3 голосов
/ 30 июня 2011

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

Если это неприемлемо для вас, существует множество других библиотек шаблонов, таких как jquery-tmpl и underscore.template .

0 голосов
/ 30 июня 2011

EJS - довольно хорошая система шаблонов.Он использует <% %> теги.

Редактировать: Больше шаблонных библиотек

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