Django Admin で CSS をオーバーライドする最適な方法は、base.css の直接変更ですか?

Mary-Kate Olsen
リリース: 2024-11-04 09:15:30
オリジナル
331 人が閲覧しました

Is Direct Modification of base.css the Optimal Way to Override CSS in Django Admin?

Django Admin での CSS のオーバーライド: 直接変更が最良のアプローチですか?

Django 管理インターフェイスで CSS を変更すると、外観とユーザーを向上させることができます経験。ただし、次のような疑問が生じます: Django ライブラリ内の Base.css ファイルを直接編集するのが最も効果的なアプローチですか?

CSS カスタマイズの代替ソリューション

より適切なソリューションがあります基本コードの整合性を維持する Django Admin で CSS をオーバーライドする方法:

1.管理者テンプレートのオーバーライド

一般的な外観の変更については、Django の管理者テンプレートをオーバーライドすることをお勧めします。元の管理テンプレートを拡張し、base.html の extrastyle ブロックなどの特定のブロックを変更します。テンプレートのオーバーライドに関する詳細なガイダンスについては、Django のドキュメントを参照してください。

例:

{% extends "django/contrib/admin/templates/admin/base.html" %}
{% block extrastyle %}
    <style>
        /* Custom CSS code here */
    </style>
{% endblock %}
ログイン後にコピー

2. Media メタクラスによるカスタマイズ

特定のモデルに固有のスタイルの場合、admin.py ファイル内の Media メタクラスを使用してカスタム CSS と JavaScript を追加できます:

例:

<code class="python">class MyModelAdmin(admin.ModelAdmin):
    class Media:
        js = ('js/admin/my_own_admin.js',)
        css = {
            'all': ('css/admin/my_own_admin.css',)
        }</code>
ログイン後にコピー

代替方法の利点:

  • 保守性: テンプレートをオーバーライドするか Media メタクラスを使用すると、カスタム CSS が確実にコードはコアの Django コードベースから分離されるため、メンテナンスが容易になります。
  • 柔軟性: これらのメソッドにより、管理インターフェイス内の特定のセクションまたはモデルの外観をカスタマイズする際の柔軟性が向上します。
  • コラボレーション: 同じプロジェクトに取り組んでいるチーム メンバーは、ベースの Django コードに意図せず影響を与えることを心配することなく、カスタム CSS を簡単に特定して変更できます。

結論

Django のbase.css ファイルを直接変更したくなるかもしれませんが、管理テンプレートをオーバーライドするか、Media メタクラスを使用する方が、Django 管理インターフェイスの外観をカスタマイズするためのより賢明で持続可能なアプローチです。これらの方法により、コードの保守性が向上し、柔軟性が向上し、コラボレーションが促進されます。

以上がDjango Admin で CSS をオーバーライドする最適な方法は、base.css の直接変更ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート