ユーザーが Python Social Auth を介してサインアップすると、データベースにユーザーとして作成されます。これは問題なくダンディですが、ユーザーの作成時に特定のグループに追加する必要があります。
どうやってするか?
ユーザーが Python Social Auth を介してサインアップすると、データベースにユーザーとして作成されます。これは問題なくダンディですが、ユーザーの作成時に特定のグループに追加する必要があります。
どうやってするか?
django-social-auth に新しいユーザー シグナルがあります
from social_auth.signals import socialauth_registered
def new_users_handler(sender, user, response, details, **kwargs):
user.groups.add(Group.objects.get(name='mygroup'))
socialauth_registered.connect(new_users_handler, sender=None)
このコードはテストされていません (私は今自分のコンピューターを使用していません) が、アイデアが得られるはずです。
Python Social Auth を使用していて、ユーザーをグループに追加する必要がある場合は、次のコードを使用します。
#pipeline.py
from django.contrib.auth.models import Group
def save_to_group(backend, user, response, *args, **kwargs):
defaultgroup = Group.objects.get(name = 'blah')
user.groups.add(defaultgroup)
そして、それを SOCIAL_AUTH_PIPELINE に追加します
#settings.py
SOCIAL_AUTH_PIPELINE = {
...
'app_name.pipeline.save_to_group'
}