2011-06-29 12 views
4

私は本当にDjangoと一緒にJavascriptテンプレートシステムを使いたいと思います。 Mustache.jsの構文とスタイル(とそれの派生物)は本当に私とうまく座っています。問題は、Mustacheが使用する区切り文字タグがDjangoのテンプレートシステムの構文でうまく動作しないことです。Javascript Djangoでのテンプレート

一緒に使用するよい方法はありますか?

this verbatim snippetを使用して、JSテンプレートを適切にレンダリングしようとしました。その解決策の問題は、私はまだJS内にDjango変数またはURLが必要な場合があるということです。

Iはまた、{{#}}のように、セクションのタグを使用する許可しないことが

{{=[[ ]]=}} 

を用い口ひげの区切りを変更しようとしています。著者は将来のリリースでこの機能を完全に削除するつもりだと述べています。

Javascript用のテンプレートライブラリは、Mustache.jsに厳密に従いますが、異なるデリミタを使用していますか?または、Mustache.jsが使用する区切り文字を変更するための別の解決策がありますか?

答えて

0

EJSは、かなり良いテンプレートシステムです。それは<% %>タグを使用します。

編集:More templating libs

+0

再EJSは私に後方に物事をやっているようです。私はそれに近い見てみましょう。 microjs.comのヒントをありがとう! – Matthias

3

設定可能な区切り文字は、私の意見ではサポートされなければならないが、それは、change Mustache's delimitersに非常に簡単だろうように見えます。

これがあなたに受け入れられない場合、jquery-tmplunderscore.templateのような他の多くのテンプレートライブラリがあります。

4

私はdjangoでjqueryのテンプレートを使用しました。

  • は、静的なJavaScriptファイルにすべてのjavascriptを入れて、任意のサーバーサイド処理Djangoのテンプレート提供するすべてのHTMLフック(idをまたはクラス)が、無jsの中
  • せずにそれらを果たす:最終的に私は最善の方法であることを決めました。
  • はjsで 'document.ready'とjqueryセレクタを使用してタグをページに挿入し、イベントを添付します。
  • jsにデータが必要な場合はajax呼び出しが必要です。

最後に柔らかく、jsonのブロックにデータを埋め込んでdjangoテンプレートに埋め込むかもしれません。また、テンプレートの下にjsという短い変数があります。どのようにページをレンダリングするjs - サーバー側から何をすべきかを伝える少しの手がかり。したがって

:エスケープ文字と文字の間

  1. 競合があなた自身を求めて維持する必要はありません非問題
  2. となりますので、」「サーバーまたはクライアント上で実行されているこのコードがあります」あなたのjavascriptのコードが
  3. 一つのファイルに一度に両方を記述しようとしていない必ずしも良く構造化され、再利用可能な
関連する問題