2011-02-03 15 views
1

djangoは非常に基本的な柔軟な管理パネルをあなたのプロジェクトに提供します。私はここで、(dis)の利点を参照して議論を見てきました。独自のコントロールインターフェイスを作成し、既定のものを使用します。要約すると、私は、のimodjango.contrib.adminは、複雑なコンテンツ管理を必要としない迅速で簡単なプロジェクトのためのものです。したがって、サイトの絶対的な制御と完全なカスタマイズのためには、適切な管理インタフェースを実装する必要があります。django管理者をアプリとして使用できますか?

私が取り組んでいるプロジェクトで私自身の管理者をロールしてみたいと思っていますが、本当にホイールを再編集したくないので、私のプロジェクトでプラグインされたアプリケーションとしてDjangoの管理者を使用できます私はしたい?どのようにそれを行うことができますの任意のアイデアはありますか?たぶんすでにいくつかのsimmilarアプリがありますか?

答えて

2

django.contrib.admin私はそれを使用しないため、アドバイスはありません。私のクライアントは、ほぼCMSのようなサイトのインラインアップデート(2つの「バージョン」はそれらを混乱させる)を好み、私は余分なコントロールを好みます。

だから、その脈で、django.formsを使ったことがありますか? Djangoフォームは、あなたの必要に応じて入力を受け入れ、検証する簡単な方法を提供します。独自のカスタムフィールドを使用してフォームを拡張し、their validationをカスタマイズすることができます。たとえば、入力した文字列に省略したい文字が含まれている場合は、フォームにフィールドを追加してValidationErrorを追加することができます。 Djangoには、EmailFieldなど、多くの便利な入力フィールドがあります。

次に大きなトリックはdjango.forms.ModelFormです。これにより、カスタムフォームのショートカットを作成し、それを適切なオブジェクトに挿入してデータベースに保存する非常に簡単な方法が提供されます。それはあなたのためにそれを行います。それのすべて。文字通り、これを行う:

fItem = ItemForm(request.POST) 
# or 
# I = Item.objects.get(id=?) 
# fItem = ItemForm(request.POST, instance=I) 

if f.is_valid(): 
    fItem.save() 

これからフォームを使用すると、CRUD操作を非常に簡単に作成できます。

次は、ユーザー、グループ、およびアクセス許可です。このために提供された認証機能を使用して独自のUIを提供することを止めることはありません。実際の管理サイトも使用する必要はありません。 2人は一緒に結ばれていません。

個人的に私が使っているのは私のものです。なぜなら私の仕事の1つでは、クライアントは認証と認可のための特定の要件を持っていたからです。私はそれをお勧めしません - ただそこにあるものを使用してください。特にDjango-SocialAuthのようなauthentication backendsが存在するためです。

関連する問題