1

各サインアップ 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()プロファイルを編集するために使用するため、このクラスを編集して別のプロファイル オブジェクトを割り当てようとします。

4

1 に答える 1