ホームページ  >  記事  >  バックエンド開発  >  基本的な Django 管理テンプレートを責任を持ってオーバーライドおよび拡張するにはどうすればよいですか?

基本的な Django 管理テンプレートを責任を持ってオーバーライドおよび拡張するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-09 18:39:02819ブラウズ

How can I Responsibly Override and Extend Basic Django Admin Templates?

責任を持って基本的な Django 管理者テンプレートをオーバーライドおよび拡張する

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。