サインアップするときに複数のユーザータイプを作成する方法は?

StackOverflow https://stackoverflow.com/questions/3189437

  •  02-10-2019
  •  | 
  •  

質問

Django 1.2を使用していますが、2つのユーザータイプ(1つは企業用、もう1つはコンサルタント用)が必要です。私は自分のモデルのオブジェクト(is_companyまたはis_consultantのブール値のようなもの)またはdjangoのグループを使用してそれらを区別します。私が完全なnoobでなければそれはそれほど問題ではないと思います;)

認証バックエンドにdjango-registrationを使用しています。各ユーザータイプ(会社vsコンサルタント)のWebページに別のフォームがあります。 2つのケースとほぼ同じ2つの異なるビューを作成するのが最善ではないと思います。そのため、2つのタイプのいずれかとしてサインアップしたユーザーを識別/登録するのは最善の方法だと思います。

ご協力いただきありがとうございます。

役に立ちましたか?

解決

登録時にコンサルタントまたは会社であるかどうかをユーザーに選択しますか?もしそうなら、あなたはサブクラス化することによってあなた自身のフォームを作成することができます RegistrationForm 次に、新しいフォームをDjango-Registrationのパラメーターに渡します(それを行う方法に関するドキュメントを読んでください)。

フォームをサブクラス化し、追加のフィールドを追加するには、次のようなことをします。

from registration.forms import RegistrationForm

USER_TYPES = (
   ('consultant', 'Consultant'),
   ('company', 'Company'),
)

class MyRegistrationForm(RegistrationForm):
     user_type = forms.ChoiceField(choices=USER_TYPES)

それ以降、信号をキャッチし、フォームデータで必要な通りに実行する必要があります Django-Registrationには素晴らしいドキュメントがあります

それがあなたが探していたものであることを願っています。

他のヒント

投稿を見るのではなく、クエリ文字列に情報を渡すことができます。したがって、1つの「ボタン」(実際には単なるリンクです)がリンクします /form?type=consultant, 、および他のリンク /form?type=company そして、あなたは取得情報からそれをつかむことができます

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top