如何使用Django allauth手动创建一个SocialApp?

4

我的目标:

  • 创建一个用户
  • 使用Facebook作为提供者创建SocialApp
  • 使用先前创建的用户和社交应用程序创建SocialAccount

1
将社交应用保存到数据库中?我不明白你的意思。你想要保存什么到数据库中? - obayhan
我已经使用LinkedIn而不是FB成功完成了这个。你有跟随教程吗?你卡在了哪一步? - Carlos
我已经在allauth.socialaccount.model下找到了SocialApp和SocialAccount,正在尝试使用它。 - andreihondrari
1个回答

3

根据您所需的提供商,您需要考虑来自SocialAppSocialAccount的提供商字段是一个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()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接