使っていないのでアドバイスはありdjango.contrib.admin
ません。私のクライアントは、ほぼ CMS に似たサイトのインライン更新を好み (2 つの「バージョン」があると混乱します)、私は追加の制御を好みます。
それで、その流れで、あなたはdjango.formsを使ったことがありますか? Django フォームは、必要に応じて入力を受け入れて検証する簡単な方法を提供します。独自のカスタム フィールドを使用してフォームを拡張し、その検証をカスタマイズできます。たとえば、フォームにフィールドを追加してValidationError
、入力した文字列に省略したい文字が含まれている場合に a を発生させることができます。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 を提供することを妨げるものは何もありません。実際の管理サイトも使用する必要はありません。二人は結ばれていない。
私の仕事の1つで、クライアントには認証と承認に関する特定の要件があったため、私は個人的に使用する傾向がある独自のものをロールバックしました。ただし、お勧めしません-そこにあるものを使用してください。特にDjango-SocialAuthなどの認証バックエンドがあるためです。