2

ユーザーが Python Social Auth を介してサインアップすると、データベースにユーザーとして作成されます。これは問題なくダンディですが、ユーザーの作成時に特定のグループに追加する必要があります。

どうやってするか?

4

4 に答える 4

1

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)

このコードはテストされていません (私は今自分のコンピューターを使用していません) が、アイデアが得られるはずです。

于 2014-05-05T22:12:28.160 に答える
0

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'
}
于 2016-09-23T14:21:48.637 に答える