2010-11-24 13 views
0

誰もが独自のAdminSiteを実装していますか?基本的な実装はどれくらい簡単/簡単でしたか?Django AdminSite - 難しくて簡単な実装ですか?

私はいくつかの分野では非常に大規模でちゃんと複雑になるだろう「CMS」を構築し、AdminSiteのようなものを使用していくつかの時間を節約するならば、私は思ったんだけどの真っ只中にいますよ。私はむしろ、管理アクションやインラインなどのための独自の実装を行う必要はありません(インラインフォームを使用することはできますが、インライン= [Foo]と同じくらい単純ではありません)。

カスタムAdminSiteを使用する場合は、標準のDjangoの管理のカスタマイズに相当さらなるカスタマイズがありますか?

+2

「AdminSiteのようなものを使用すると、いくつかの時間を節約するならば不思議」?それは完全に時間の山を救う。おそらくそれはあなたが本当に求めているものではありません。あなたの質問を明確にしたいかもしれません。 –

答えて

1

あなたはadmin siteドキュメントを読みました。それは長い文書ですが、カスタム機能を追加するための2つの主要なフックは、独自のAdminSiteModelAdminオブジェクトにカスタムURLと修正された標準のビューを介して行われます。それらをフックしてURLをマップすると、他のDjangoアプリケーションを構築するのと同じように、テンプレートはあなたのものではないので、管理や使い方が少し難しくなります。しかし、それは、あなたは

など、複数のフォームにadminサイトまたは分割すべてに form wizardを追加すると、テンプレート内の単一のHTML form要素でそれらをレンダリング、 GET/ POST要求のカスタム処理を行っているように、追加的な体操を行うことができます

私はこれまで、カスタムレポートを表示するためのビューを作成し、スタッフのカスタム編集シナリオを作成するためにこれを使用しました。私の意見は、できるだけキスをするべきだということです。管理サイトは、総称的なビューと一般的なプレゼンテーションに関するものです。テンプレートブロックをオーバーライドし、ブロックにラップされていないものを上書きする前に2回考えている場合は、慎重に拡張してください。特定の管理サイトの機能には一定のプレゼンテーションの前提があり、Djangoに同梱されているJSクライアントアプリでは、動的インラインモデルを追加するときに思ったこともあるので、全く異なるプレゼンテーションを展開するのが好きです。

いずれにしても答えはYESです!管理サイトでは、モデルデータを対話的に管理するためのより多くの機能が提供されます。私はあなたが管理者をどのように広範囲にカスタマイズする必要があるのか​​分かりませんが、CMS、専用の管理アプリケーション、管理統合されたアプリケーションがあります。 Django CMSは私が思い出したように、そこから最高のオープンソースのDjango CMSとして賞賛されています。 Rosettaは、対話形式で翻訳ファイルを編集できる管理サイト専用のアプリケーションで、徹底した管理インターフェイスを備えています。あなたがbitbucketとgithubを買い物する場合は、もっと多くの例がありますが、それはあなたがそれにどれくらいの努力を払う必要があるかを理解するのに役立ちます。

0

両方

あなたはそれはあなたがそのはかなり自動的に行わたい正確に何をやっていないとOKしている場合。特定のものに対して細粒度の制御が必要な場合、管理コードの内部を知らなくてもカスタマイズすることは難しいでしょう。

0

djangoの管理者は、1つのサイズよりも、すべての種類のuiに適合しますが、場合によっては直感的ではない場合があります。 外観をカスタマイズするのは簡単ですが、それを拡張することはいくらか難しい方法です。その場合、あなた自身のビューをデザインする方がよいでしょう。

関連する問題