Django—管理者による作成と使用

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)

おすすめ

転載: blog.csdn.net/fish_study_csdn/article/details/142619913