私は通常、ビューで見つけることが期待されるロジックの多くを含む templatetag を作成しました。いくつかの単体テストを作成しているときに、少し異なるアプローチについて考え始めました。私は、長所と短所を判断するのに十分な経験がないと感じています (これはよく知られた慣行でさえあるかもしれません。あるいは、やめてください...)。だからこそ、私はあなたの意見に興味があります。
私のアイデアは、すべてのロジックを処理するビューを作成し、すべての関連するコンテキストをそのビューに渡し、レンダリングされた HTML を返すラッパーとして templatetag を使用することでした。
このアプローチから得られる利点:
- さまざまな出力形式の提供が容易
- より簡単に DRY
- 簡単なテスト
- ビュー内のデコレータとミックスインを使用した権限チェック
- ビュー内のキャッシュ コントロール
- ajaxおよび/またはエッジ側への優れたアプローチには、
- より高い柔軟性
たとえば、ツリー ナビゲーションをレンダリングする templatetag は、templatetag を介してアクセスしたときに HTML を配信できますが、同時に、対応するビューは URL を介して引き続きアクセスできます。
このビューは、JSON、RSS、XML などのさまざまな出力形式を提供し、アクセス許可のチェックを処理することができます...高度なロジックは、ビューを介してテストでき、テンプレートタグのテストケースの責任は非常に基本的なことを確認するためだけに残されます。
他の意見、ヒント、またはパッケージまたは関連する投稿へのリンクをいただければ幸いです。