6

私は最近、いくつかのレベルのユーザーが関与するプロジェクトを作成しようとしています。

(省略された大まかなスキーマのほんの一例)

  • ME(スーパーユーザー)
    • クライアント_
      • 顧客_
      • 調査コレクション
        • SurveyUser(s)
          • 招待
        • 調査
          • 招待者(招待者は調査とユーザーの両方の子です)
        • 質問

私は理想的には:

  • www.example.com/client/アクセスするにはクライアントである必要があったクライアントインターフェイスに移動します
  • www.example.com/customer/アクセスするには顧客でなければならない顧客インターフェースに移動します

カスタマイズされたDjango管理インターフェースをそれらすべてに使用することはおそらく不可能である(またはそうなるのではないか)ことをすでに確立しました。したがって、私はユーザーのレベルごとに「admin」インターフェースを手動で作成し、それぞれの役割を管理できるようにすることに傾倒しています。異なるユーザータイプとそれぞれに個別のインターフェイスを使用するための最良の方法は何ですか?

http://scottbarnham.com/blog/2008/08/21/extending-the-django-user-model-with-inheritance/で概説されているユーザーを継承する方法が好きです。

しかし、ユーザーごとに異なる「管理」領域をどのように設定するかはわかりません。

関連する副次的な問題として、標準のユーザープロパティと一緒にカスタムプロパティにアクセスする方法と、使用する実際の管理インターフェイスでそれらを編集/保存する方法もわかりません。

クライアントデータベースに対して「クライアント」ユーザーを認証して、クライアントであることを確認する必要がありますが、認証、ユーザー名、パスワードなどを管理するユーザーデータベースに対しても認証する必要があります。

PHPからPython/Djangoに切り替えているので、アドバイスをいただければ幸いです。

ありがとう!

4

1 に答える 1

2

私がこれに最も近いのは、ここにある別のstackoverflowの記事に基づいています:Djangoプロジェクトに2つの異なる管理サイトを含める方法は?

結局、django.contrib.admin.sites.AdminSiteの2つの完全に別個のインスタンスを作成しました。これは、理想的ではありませんが、最終的には機能するように見えました。

于 2011-05-09T22:59:30.517 に答える