Django テンプレートでメソッドパラメータを使用するにはどうすればいいですか? 質問する

Django テンプレートでメソッドパラメータを使用するにはどうすればいいですか? 質問する

ここに投稿があるのは知っています:django テンプレート システム、モデル内の関数の呼び出しこれを実現するためにカスタム テンプレート フィルターを作成する方法を説明していますが、プログラマーの観点から見ると、これは失敗です。なぜなら、そのために意図されていないものをハッキングしているからです。Django のテンプレート システムでパラメーター付きのメソッドを呼び出すことができないというのは、ほとんどばかげているように思えます。

ベストアンサー1

Django チームは、哲学上、ビューでメソッド パラメータを渡せないようにすることを決定しました。個人的には、私もこれに賛成です。これにより、ロジックとプレゼンテーションが分離され、便利になります。これにより、PHP で悪名高いスパゲッティ コードが防止されます。

リンクしたケースで正しいのは、その呼び出しの結果をコンテキスト経由でビューからテンプレートに渡すことです。その方が保守しやすくなります。後でmy_related_deltas(3)に変更する必要がある場合はmy_related_deltas(4)、テンプレートを検索して正確に定義されている場所を把握するのではなく、かなり簡潔なビューに移動します。

おすすめ記事