Django管理サイトはほぼ完全にカスタマイズでき、多くのデフォルトの動作をシームレスに構成およびオーバーライドするための多くのフックを提供します。これは、アプリケーションがデータ管理と自動的に統合して公開するための共通のインターフェースとして構築されているため、実際には、アプリケーションが独自のビューとURLフックを提供して、ある種のカスタム管理インターフェースを公開することはありません。
カスタマイズするのがおかしくなるのは、本来の目的以外の目的で使用する必要がある場合です。これはアプリケーションモデルを管理するためのものであり、管理サイト全体は、登録されたモデルインスタンスに非常に具体的なCRUDビューを提供するという概念に基づいて構造化および編成されています。次に、デフォルトのビューは、テンプレートの特別なコンテキストを準備します。これは、CRUDの動作をアプリケーションモデルに一般的に提供する方法、およびそれ以外の方法でそれらを拡張またはカスタマイズする方法の特定の仮定をサポートすることを目的としています。インスタンスによって簡単にサポートされるModelAdmin
と、非常に時間がかかり、多くの苦痛につながります。
時間をかけてDjango管理サイトのドキュメントを調べ、何ができるかを完全に理解し、管理サイトの前提や機能に反しないようにアプリケーションを計画する必要があります。
高度にカスタマイズされたプレゼンテーションと構造を提供するための管理サイトが必要な立場にある場合でも、恐れることはありません。Djangoのクラスベースのジェネリックビューは、管理サイトの要件に制約されることなく、モデルを操作するための同様に強力な抽象化を提供します。プレゼンテーション用にBootstrapを選択すると、アプリケーションを希望どおりにロールアウトできます。速い。