21

今日は、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/

4

5 に答える 5

13

テンプレートタグを使用templatetagして、角かっこをレンダリングします。

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

少し面倒です。そのため、Django1.3raw用にテンプレートタグが提案されています。

于 2010-10-26T08:35:14.457 に答える
2

ここで言及されているいくつかの解決策があります:

https://github.com/nje/jquery-tmpl/issues#issue/17 - 編集: 古いリポジトリ

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

私のお気に入りは、{% verbatim %}Django テンプレート内から jQuery テンプレートを作成できるテンプレート タグです。

于 2010-12-06T04:46:58.230 に答える
0

Django1.3を使用して追加しています

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

私のhtmlファイルに。

サーバーは次のように戻ります。

無効なブロックタグ:'raw'

また、ドキュメントでは、あなたが話しているこのタグに関する情報を見つけることができないようです。

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

于 2011-07-25T15:38:28.957 に答える
0

Django テンプレートの使用、icanhaz の使用に関する優れた情報がここにありますが、これは JQuery テンプレートに十分似ていると思います。

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

于 2011-09-24T19:27:59.427 に答える
0

「verbatim」タグがサポートされていない場合、デフォルトが役立つことがわかりました。次のようになります。

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

PS。ErlyDTL で「verbatim」タグをサポートしていない ChicagoBoss のユーザーへの注意。

于 2012-12-18T13:23:40.773 に答える