Django 管理者テンプレートをオーバーライドしながら拡張することは、特に app_directories テンプレート ローダーを使用している場合、困難な作業になる可能性があります。ただし、適切なアプローチを使用すれば、全体の構造や動作を妨げることなく、特定のテンプレート要素をシームレスに変更できます。
2011 年に、Django スニペット テンプレート ローダーの形でソリューションが登場しました。このローダーを使用すると、特定のアプリでテンプレートを拡張できるため、手動でコピーして拡張する必要が軽減されます。以下に例を示します。
{% extends "admin:admin/index.html" %} {% block sidebar %} {{ block.super }} <div> <h1>Extra links</h1> <a href="/admin/extra/">My extra link</a> </div> {% endblock %}
このスニペットは、Django 管理者のインデックス テンプレートを拡張し、元のテンプレートの構造を維持しながらサイドバーに追加のリンクを追加します。
さらに、Django バージョン 1.11 以降では、 Django のクラスベースのビュー テンプレート拡張機能。これにより、クラスベースのビューで extend_context メソッドと get_context_data メソッドを使用してカスタム テンプレート階層を作成できます。
テンプレートのオーバーライドと拡張に関する最新情報については、特定の Django の公式ドキュメントを参照してください。 Django バージョン。
これらの手法を採用することで、機能を損なったり、不要な重複を導入したりすることなく、自信を持って Django 管理テンプレートを変更できます。
以上が基本的な Django 管理テンプレートを責任を持ってオーバーライドおよび拡張するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。