競合を回避・・・できてないような気もしますが。
jQueryにも本家が作っているテンプレートエンジンがあって、それがjQuery-tmplというらしいです。さっき知ったのですが。いちいちJavaScriptでhtmlを組み立てるのは面倒いので、テンプレートエンジンないかなと思って調べたら、本家が作ってたと。さすが。
そのjQuery-tmplのタグですが、${var}みたいな感じで使えます。jQueryでおなじみの方式ですね。でもこのテンプレートエンジンの中で条件分岐とかループとかできんのかいな?と思っていたら、できるようです。
{{if var == 1}}
${var}
{{/if}}
みたいな感じ。
しかしですよ。{{ }}というデリミタは、Djangoの変数用のデリミタなのです。
普通にhtml内で使うと、Djangoのデリミタとして認識してしまうから使い物になりませんorz
Djangoで、文字列として{{ }}を出力できたら問題ないじゃないか!と思って調べたところ、これらの文字自体を出力する方法は、
<ul id="results"></ul> <scrpit id="itemTemplate" type="text/x-jquery-tmpl"> {% templatetag openvariable %}each items{% templatetag closevariable %} <li>${name} - ${price}</li> {% templatetag openvariable %}/each{% templatetag closevariable %} </script>
という形になります。{{という2文字が{% templatetag openvariable %}という、ものすごく冗長な書き方になるのはちょっとしんどいですが、滅多に登場しないであろうと考えて…。いや、登場するか…。