Ответ 1
Используйте тег templatetag
, чтобы отобразить скобки:
{% templatetag openvariable %}each(i,cond) conditions.data{% templatetag closevariable %}
Это немного странно, поэтому для Django 1.3 был предложен тег шаблона raw
.
Сегодня я пытаюсь играть с операторами jquery-tmpl {{if}} и {{else}}.
<script id="mission-dialog" type="text/x-jquery-tmpl">
<h3>${name}</h3>
<p>${description}</p>
<ul>
{{each(i,cond) conditions.data}}
<li>
<img src="${cond.image}"/>
<h4>${cond.name}</h4>
<p class="status">${cond.status.value}/${cond.status.max}</p>
</li>
{{/each}}
</ul>
</script>
Но, как вы знаете, {{}} зарезервирован также для шаблона django. Таким образом, django испускает TemplateSyntaxError, что он не может его разобрать.
Как я могу решить эту проблему?
обновление:
Я нашел здесь рабочую <% raw% > настраиваемый тег (GPL).
http://www.holovaty.com/writing/django-two-phased-rendering/
Используйте тег templatetag
, чтобы отобразить скобки:
{% templatetag openvariable %}each(i,cond) conditions.data{% templatetag closevariable %}
Это немного странно, поэтому для Django 1.3 был предложен тег шаблона raw
.
Есть несколько решений, упомянутых здесь:
https://github.com/nje/jquery-tmpl/issues#issue/17 - Изменить: Старый репо
https://github.com/jquery/jquery-tmpl/issues/#issue/74
Мой любимый тег шаблона {% verbatim %}
, который позволяет вам создавать шаблоны jQuery из Django.
Я использую Django 1.3 и добавляю
{% raw %} this should be ignored by django template framework {% endraw %}
в мой html файл.
Сервер возвращается с:
Недопустимый тег блока: 'raw'
Также в документах я не могу найти информацию об этом теге, о котором вы говорите.
https://docs.djangoproject.com/en/1.3/ref/templates/builtins/
Здесь замечательная информация об использовании шаблонов Django с использованием icanhaz, но я думаю, что это достаточно похоже на шаблоны JQuery.
http://tothinkornottothink.com/post/4282971041/using-jquery-templating-icanhaz-js-with-django
Я нашел значения по умолчанию полезными, если не поддерживается тег 'verbatim'. Выглядит так:
{{ some_undefined_variable|default: '....here goes the subject template....'}}
PS. Примечание для пользователей ChicagoBoss, который не поддерживает тег 'verbatim' в ErlyDTL.