各サインアップ URL に異なるフォームを使用し、userena サインアップ フォームを継承し、save メソッドをオーバーライドしてユーザーをグループまたは別のグループに含めることで、userena を使用して異なるグループに属するユーザーを作成する方法を実装することに成功しました。
たとえば、私の /brands/ URL には次のようなものがあります。
url(r'^signup/$',
'userena.views.signup',
{'template_name': 'userena/signup_form_brands.html', 'signup_form': SignupFormBrands}
),
そしてその形で私は持っています:
from userena.forms import SignupForm
from django.contrib.auth.models import Group
class SignupFormBrands(SignupForm):
def save(self):
# First save the parent form and get the user.
new_user = super(SignupFormBrands, self).save()
new_user.groups.add(Group.objects.get(name='Brands'))
return new_user
それで、userenaに含まれているバッテリーで必要なものを手に入れました。しかし今は、userena に含まれているプロファイルの編集/表示機能を使い続けたいと思いますが、2 種類のプロファイルが必要です。デフォルトのユーザー用とブランド用の 2 つの異なるプロファイル モデルを作成したいと考えています。次に、userena が、グループまたは別のユーザーに応じて適切な種類のプロファイル モデルを編集できるようにしたいと考えています。これがどのように機能し、どのようにできるかわかりません。
編集: userena はprofile = user.get_profile()
プロファイルを編集するために使用するため、このクラスを編集して別のプロファイル オブジェクトを割り当てようとします。