如何使用django allauth手动创建SocialApp?

时间:2014-07-31 14:27:39

标签: django django-allauth

我想要实现的目标:

  • 创建用户
  • 使用facebook作为提供商创建SocialApp
  • 使用之前创建的用户和社交应用
  • 创建SocialAccount

1 个答案:

答案 0 :(得分:1)

根据您的愿望提供商,您需要考虑来自 SocialApp SocialAccount 的提供商字段是 CharField 选项< / strong>设置为allauth.socialaccount.providers.registry.as_choices(),这是一个产生('facebook', 'Facebook')等元组的生成器,所以我们基本上有兴趣使用&#39; facebook&#39; 作为< strong>提供商字段。

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()