1. Django Admin の概要
Django Admin は、Django フレームワークに付属する管理バックエンド ツールで、開発者は直感的な Web インターフェイスを通じてアプリケーションのデータ モデルを簡単に管理できます。 Admin は、モデル CRUD (作成、読み取り、更新、削除) 操作に加えて、データのバッチ処理と検索機能を提供し、日常のデータベース管理を大幅に簡素化します。開発段階だけでなく、実稼働環境でのデータ保守にも非常に適しています。
2. 管理インターフェースのカスタマイズ
Django Admin には豊富なカスタマイズ オプションが用意されており、開発者はプロジェクトのニーズに応じてインターフェイスを調整できます。
- カスタム管理テンプレート: カスタマイズされたテンプレートを作成することで、管理インターフェイスの外観を変更できます。AD
:ホームページ |変更などの幅広いトピック ツールをカバーする効率的なオンライン プラットフォームadmin/base_site.html
。 - カスタム管理者 CSS および JavaScript :
settings.py
カスタム CSS および JavaScript ファイルを追加して、管理者のスタイルと動作を変更できます。
2.2 高度な構成に Admin クラスを使用する
Django Admin は、Admin クラスを使用してモデルの管理インターフェイスを構成します。
- Admin クラスの作成: で
admin.py
、モデルごとに Admin クラスを作成しますclass MyModelAdmin(admin.ModelAdmin): ...
。 - 管理クラスの登録:
admin.site.register(MyModel, MyModelAdmin)
登録モデルとそれに対応する管理クラスを使用します。 - 設定オプション: Admin クラスでは、
list_display
リスト ページに表示されるフィールドの指定、search_fields
検索ボックスの追加など、さまざまなオプションを設定できます。
2.3 フィールドとフィールドセットの管理
- フィールド管理: Admin クラスの
fields
または属性を使用してfieldsets
、編集ページのフィールドの表示を制御できます。 - フィールドセット:
fieldsets
より良いユーザーエクスペリエンスを提供するためにフィールドをグループ化できるようにしますfieldsets = [('基本信息', {'fields': ['name', 'description']}), ...]
。
2.4 リストページの最適化
- リスト ビューをカスタマイズする:
list_display
フィールドを使用して、リスト ページの表示を制御し、list_filter
フィルターを追加し、ordering
デフォルトの並べ替えを設定します。 - アクション ボタンの追加:
actions
属性を使用して、一括削除や既読マークなどの一括アクションを追加します。
2.5 インラインモデルの使用
インライン モデルを使用すると、関連付けられたモデルを親モデルの編集ページで直接編集できます。
- インライン モデルを定義します
inlines
。たとえば、Admin クラスの属性を使用しますclass RelatedModelInline(admin.TabularInline): model = RelatedModel
。 - インライン モデルを使用する: など、親モデルの Admin クラスにインライン モデルを追加します
inlines = [RelatedModelInline]
。
3 管理機能のカスタマイズと拡張
3.1 管理者テンプレートのカスタマイズ
- カスタム管理テンプレート: Django Admin を使用すると、モデル リスト、フォーム、詳細ページの外観の変更など、管理インターフェイスの外観と動作をカスタマイズできます。
- カスタマイズされた管理スタイル: 管理テンプレートをオーバーライドするか、カスタム CSS を使用して、管理インターフェイスのスタイルを調整できます。
3.2 管理者アクションの使用
- 管理アクション: Django Admin は管理アクション機能を提供します。これにより、バッチ削除、エクスポート、その他の操作など、管理インターフェイス上でオブジェクトをバッチ処理できます。
- カスタム管理アクション: カスタム管理アクションを作成して、特定のバッチ操作を実行できます。
3.3 サードパーティアプリケーションの統合
- サードパーティ アプリケーションの統合: Django を使用すると、サードパーティ アプリケーションをインストールして構成することで、Django の機能を拡張できます。
3.4 国際化とローカリゼーション
- 国際化: Django は国際化サポートを提供しており、アプリケーションを複数の言語にローカライズできます。
- ローカリゼーション: Django の組み込み国際化ツールと翻訳メカニズムを使用して、アプリケーションをさまざまな言語や地域に簡単にローカライズできます。
3.5 API 開発に Django REST フレームワークを使用する
- Django REST フレームワーク: DRF は、Web API を構築するための強力で柔軟なツールです。シリアル化、ビュー、認証、権限などの豊富な機能を提供します。
- API 開発: DRF を通じて、RESTful 設計原則に準拠した API を迅速に構築し、モバイル アプリケーション、フロントエンド フレームワーク、またはその他のサービスにデータ インターフェイスを提供できます。
コードのカスタマイズの例:
# Register your models here.
from django.db import models
from blog.models import Article
admin.site.site_header= "自动化测试平台"
admin.site.site_title= "自动化测试平台"
#@admin.register(Article)
class ArticleAdmin(admin.ModelAdmin):
#编辑要显示的信息
list_display = ["title","brief_content","publish_date"]
#list_filter = ['title']
#搜索的字段
search_fields = ['title', 'brief_content']
admin.site.register(Article,ArticleAdmin)