3

私は通常、ビューで見つけることが期待されるロジックの多くを含む templatetag を作成しました。いくつかの単体テストを作成しているときに、少し異なるアプローチについて考え始めました。私は、長所と短所を判断するのに十分な経験がないと感じています (これはよく知られた慣行でさえあるかもしれません。あるいは、やめてください...)。だからこそ、私はあなたの意見に興味があります。

私のアイデアは、すべてのロジックを処理するビューを作成し、すべての関連するコンテキストをそのビューに渡し、レンダリングされた HTML を返すラッパーとして templatetag を使用することでした。

このアプローチから得られる利点:

  • さまざまな出力形式の提供が容易
  • より簡単に DRY
  • 簡単なテスト
  • ビュー内のデコレータとミックスインを使用した権限チェック
  • ビュー内のキャッシュ コントロール
  • ajaxおよび/またはエッジ側への優れたアプローチには、
  • より高い柔軟性

たとえば、ツリー ナビゲーションをレンダリングする templatetag は、templatetag を介してアクセスしたときに HTML を配信できますが、同時に、対応するビューは URL を介して引き続きアクセスできます。

このビューは、JSON、RSS、XML などのさまざまな出力形式を提供し、アクセス許可のチェックを処理することができます...高度なロジックは、ビューを介してテストでき、テンプレートタグのテストケースの責任は非常に基本的なことを確認するためだけに残されます。

他の意見、ヒント、またはパッケージまたは関連する投稿へのリンクをいただければ幸いです。

4

1 に答える 1