【问题标题】:How to manually create a SocialApp with django allauth?如何使用 django allauth 手动创建 SocialApp?
【发布时间】:2014-07-31 14:27:39
【问题描述】:

我想要达到的目标:

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

【问题讨论】:

  • 将社交应用保存到数据库?我不明白你是什么意思。你想把什么保存到数据库中?
  • 我已经设法用 LinkedIn 而不是 FB 做到了这一点。你有没有按照教程?您是否遇到了某个特定的步骤?
  • 其实我已经在allauth.socialaccount.model下找到了SocialApp和SocialAccount,马上试试。

标签: django django-allauth


【解决方案1】:

根据您想要的提供者,您需要考虑 SocialAppSocialAccount 中的提供者字段是具有 选择CharField /strong> 设置为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()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-22
    • 2012-12-10
    • 2013-10-05
    • 2014-04-30
    • 1970-01-01
    • 1970-01-01
    • 2022-08-03
    • 1970-01-01
    相关资源
    最近更新 更多