0

とは異なるページを参照してくださいクライアント、になりたい: https://docs.djangoproject.com/en/1.11/topics/auth/customizing/#extending-userユーザータイプ「Client」と「Employee」を作成しようとしています。サイトに登録するすべてのユーザーは、私がDjangoの上でこれらのドキュメントを読んだ社員

私はちょうど行くためにどのルートかわかりません。どのような手順では、2つの異なるユーザタイプを作ることであろう、

from django.contrib.auth.models import AbstractUser 

class User(AbstractUser): 
    pass 

そう:彼らはそうは次のようにカスタム・ユーザー・モデルを使用してお勧めします。

class Client(AbstractUser): 
     pass 

class Employee(AbstractUser): 
     pass 

ただし、新規登録ユーザーは登録時にどのように「クライアント」になるのですか?そして私はどのようにして従業員とサイトの別の部分を見えるようにしますか?

私はこれにどのようにアプローチすべきかについていくつかのガイダンスを探しています。

+0

ユーザーがクライアントまたは従業員であることを選ぶのですか?管理者のためのタスクではありませんか?また、ユーザーモデルを拡張する場合は、2つの別々のモデルを作成する代わりに、クライアントまたは従業員を選択するフィールドを追加することもできます。 –

+0

@guillermochamorroはい、django管理者だけがそれを設定できるはずです。 – questnofinterest

答えて

1

「クライアント」と「従業員」に固有の機能が必要ですか?

これはまさにパーミッションの場合、permissions functionality of the auth libraryの方が使いやすいでしょう。

permissions decoratorでビューを保護することができます。ドキュメントから

from django.contrib.auth.decorators import permission_required 

@permission_required('polls.can_vote', login_url='/loginpage/') 
def my_view(request): 
    ... 
+0

私は、彼らが利用可能な時間を置くことができ、従業員だけに関連するもののようにしたいと思うので、自分自身の特定の機能を必要とする必要性に陥ると思っています。だから私は彼らのユーザーポータル/ダッシュボードが完全に異なっているようにしたいと思います。 – questnofinterest

+0

あなたは私が完全に権限でそれをすることができると思いますか? – questnofinterest

+0

権限を使って表示する内容を管理できます。しかし、特定のデータを保存するには、モデルを拡張する必要があります。 –

関連する問題