jquery模板标签与Django模板冲突!

时间:2010-10-26 08:30:05

标签: jquery django django-templates jquery-templates

今天我正在尝试使用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>

但是如你所知{d}也为django模板保留{{}}。 所以django会发出无法解析它的TemplateSyntaxError。

我该如何解决这个问题?


更新

我发现了一个&lt;%raw%&gt;自定义标签(GPL)的实施从这里开始。

http://www.holovaty.com/writing/django-two-phased-rendering/

5 个答案:

答案 0 :(得分:13)

使用templatetag模板标记呈现括号:

{% templatetag openvariable %}each(i,cond) conditions.data{% templatetag closevariable %}

这有点繁琐,这就是为Django 1.3提出raw模板标签的原因。

答案 1 :(得分:2)

这里提到了一些解决方案:

https://github.com/nje/jquery-tmpl/issues#issue/17 - 编辑:旧回购

https://github.com/jquery/jquery-tmpl/issues/#issue/74

我最喜欢的是{% verbatim %}模板标签,它允许您从Django内部构建jQuery模板。

答案 2 :(得分:0)

我正在使用Django 1.3并添加

{% raw %} this should be ignored by django's template framework {% endraw %}

到我的html文件。

服务器返回:

  

无效的块标记:'raw'

同样在文档中,我似乎找不到您正在谈论的有关此标记的信息。

https://docs.djangoproject.com/en/1.3/ref/templates/builtins/

答案 3 :(得分:0)

这里有很多关于使用Djano模板的信息,使用icanhaz,但我认为这与JQuery模板类似。

http://tothinkornottothink.com/post/4282971041/using-jquery-templating-icanhaz-js-with-django

答案 4 :(得分:0)

如果不支持'verbatim'标记,我发现默认值很有用。 看起来像这样:

{{ some_undefined_variable|default: '....here goes the subject template....'}}

PS。对于ChicagoBoss的用户,请注意,它不支持ErlyDTL中的“verbatim”标记。