2012-04-09 8 views
1

私はMustacheを私のDjangoアプリケーションに統合したいと思います。 DjangoのテンプレートシステムとMustacheを完全に置き換えるにはどのようなステップが必要ですか?Djangoでテンプレートフレームワークを変更するにはどうしたらいいですか?

私はrender_to_responseをコンテキスト(STATIC_URL、requestなど)とともにすべての適切な変数に渡し、Mustacheテンプレートで適切に動作させたいと考えています。

答えて

6

基本的には、render_to_response機能を、お好みのテンプレートシステムを使用する独自の実装に置き換える必要があります。 Djangoのrender_to_responseは、Djangoのテンプレートシステムに固有のものです。この関数は、djangoテンプレートエンジンを使用するときに使用される一般的なgrunt-workを単にラップします。どのように動作するかに関する基本はDjango's tutorialでカバーされています。

django.template.RequestContextを使用して、TEMPLATE_CONTEXT_PROCESSORS設定(STATIC_URL、requestなどが定義される)で指定されたすべてのコンテキスト変数を取得します。 RequestContextは辞書のように動作するため、問題なく口髭に渡すことができます。 RequestContextはそのコンストラクタで要求オブジェクトを受け取ります。

最後に、適切なHttpResponseオブジェクトを返すことを忘れないでください!

私は、段落のファンの多くはいないよので:

  1. はRequestContextのインスタンスを作成します。
  2. Merge辞書がRequestContextインスタンスで受信されました。
  3. テンプレートを文字列にレンダリングします。
  4. 最後の文字列をHttpResponseインスタンスでラップします。
関連する問題