2

Django テンプレートの代わりに、口ひげやハンドルバーなどのより一般的なテンプレート エンジンに変換する価値があるかどうか疑問に思っています。私が自分で見るオプションは次のとおりです。

  1. Django テンプレートを使用する (サーバー側のみ)
  2. ムスタッシュ/ハンドルバーなどに完全に変換
  3. ハイブリッド アプローチを使用する: 口ひげ/ハンドルバー、および該当する場合は Django テンプレートの使用 (最も醜いオプション?)

Mustache/Handlebars like システムへの変換により、クライアント側とサーバー側で同じテンプレートを使用する柔軟性が得られますが、Django のテンプレート システム (テンプレートの継承など) によって提供される特定の利点が失われます。

サーバー側のテンプレートだけでなく、クライアント側のテンプレートにも賛否両論があることを私は知っています。ビジーなサーバーで HTML をレンダリングすると遅くなる可能性があると主張する人もいれば、ブラウザーで JSON から HTML をレンダリングするとクライアントが遅くなる可能性があると主張する人もいます。

また、JavaScript 非対応のデバイスでサーバー側の HTML レンダリングを使用することについての議論も認識していますが、最近のほとんどのデバイスは JavaScript をサポートしています。

Django テンプレート システムから口ひげ/ハンドルバーなどに変換する本当の明確な理由はありますか?

ありがとう。

4

1 に答える 1

3

あなたの質問には具体的な答えがありません。私の意見では、Mustache スタイルのクライアント側テンプレートの利点は、サーバー側テンプレートの利点をはるかに上回ります。Mustache スタイルのクライアント側テンプレートは、移植可能でスケーラブルで、他の開発者が簡単に理解でき、すべてのブラウザー (IE6 を含む) で動作します。Web アプリケーションを大きくすることを計画している場合、ページの生成がユーザーのブラウザーにオフロードされ、サーバー側で処理されなくなったとき、自分自身に感謝することになります。

Django が提供するテンプレートの継承は過大評価されています.Mustache テンプレートと少しの JavaScript で同じことを実現できます. すべてを網羅する大規模なテンプレートを作成しようとしないでください。テンプレートを小さな再利用可能なビルディング ブロックとして構築し、それらを JavaScript と組み合わせて、Web アプリケーションを構成するコンポーネントを形成します。

もちろん、クライアント上ですべてをレンダリングすると SEO に影響が及びますが、それがアプリケーションにとって問題になる場合とそうでない場合があります。

于 2012-12-28T07:28:23.860 に答える