djangoでデータ分析プロジェクトを開始しており、さまざまなビューから生成されたテキストデータとグラフデータを単一のタンプレートで表示したいと考えています。このようにするのは良い習慣ですか、それともテキストデータとグラフデータの2つの異なるテンプレートをランダーする必要がありますか?
それが可能だ。ビューは、要求に基づいて応答を作成して返す責任があり、そのために意味のあるアプローチを使用できます。テンプレートはそのための1つのツールであり、特定のテンプレートを複数のビューで使用することを妨げるものは何もありません。機能ビューを使用している場合は、次のようになります。
def display_text(request):
context = ...
return render(request, "data.html", context)
def display_graph(request):
context = ... # some different context than the text case
return render(request, "data.html", context)
詳細は異なる場合があります。重要なのは、テンプレートを1つのビューに結び付けるものが何もないということです。
これが良い考えであるかどうかは、2つのケース間で共有されるテンプレートの動作の量によって異なります。一般に、代わりに、テンプレートの共有部分を親テンプレートに分解し、テンプレートの継承を使用して、共有部分を繰り返さずに、さまざまなデータ型に固有のさまざまな動作を特殊化することをお勧めします。現在の表示動作が同じであっても、2つの異なるテンプレートを使用すると、将来必要に応じて簡単に変更できます。
単一のテンプレートでデータ型を判別せずに両方のケースを真に処理でき、それを変更する予定がない場合は、タイプ固有のテンプレートを作成するのではなく、両方のビューで単一のテンプレートを再利用するのが妥当な選択です。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加