我的目标:
- 创建一个用户
- 使用Facebook作为提供者创建SocialApp
- 使用先前创建的用户和社交应用程序创建SocialAccount
我的目标:
根据您所需的提供商,您需要考虑来自SocialApp和SocialAccount的提供商字段是一个CharField,其choices设置为allauth.socialaccount.providers.registry.as_choices()
,这是一个生成器,可以产生类似于('facebook','Facebook')
的元组,因此我们基本上只对使用'facebook'进行感兴趣provider字段。
from django.contrib.sites.models import Site
from allauth.socialaccount.models import SocialApp, SocialAccount
user = User(...)
user.save()
sapp = SocialApp(provider='facebook', name='MyApp',
client_id='<your facebook app client id>',
secret='<your facebook app secret key>')
sapp.save()
sapp.sites.add(1) // or your site id
sacc = SocialAccount(uid="<your facebook uid>",
user=user, provider='facebook')
sacc.save()