gpt4 book ai didi

python - Django:DoesNotExist:SocialApp 匹配查询不存在

转载 作者:太空宇宙 更新时间:2023-11-03 14:42:20 25 4
gpt4 key购买 nike

我正在尝试在我的 Django Web 应用程序中激活社交登录,该应用程序来自此 GitHub repository 中的开源软件(所以我没有写);我遇到了这个众所周知的问题:

DoesNotExist: SocialApp matching query does not exist.

基本设置文件位于here 。我根本不修改该文件。相反,我在 deploy.py settings 文件的顶部导入(继承)它,并在那里进行覆盖和自定义。

与此问题特别相关,以下是我在 deploy.py 中进行的相关覆盖和添加,以启用 GoogleTwitter 社交功能身份验证,两者都会导致相同的错误:

INSTALLED_APPS.remove('allauth.socialaccount.providers.persona')  # Remove
INSTALLED_APPS.append('allauth.socialaccount.providers.google') # Add
INSTALLED_APPS.append('allauth.socialaccount.providers.twitter') # Add

_GOOGLE = {
'SCOPE': ['email', 'https://www.googleapis.com/auth/userinfo.profile'],
'AUTH_PARAMS': {'access_type': 'online'},
'PROVIDER_KEY': get_env("GOOGLE_PROVIDER_KEY"), # Stored in secrets.env
'PROVIDER_SECRET_KEY': get_env("GOOGLE_PROVIDER_SECRET_KEY"), # Stored in secrets.env
}
SOCIALACCOUNT_PROVIDERS['google'] = _GOOGLE # This isn't enabled in biostar.settings.base

_TWITTER = {
'SCOPE': ['email'],
'AUTH_PARAMS': {'access_type': 'online'},
'PROVIDER_KEY': get_env("TWITTER_PROVIDER_KEY"), # Stored in secrets.env
'PROVIDER_SECRET_KEY': get_env("TWITTER_PROVIDER_SECRET_KEY"), # Stored in secrets.env
}
SOCIALACCOUNT_PROVIDERS['twitter'] = _TWITTER

我在这里展示了两个提供商示例 - TwitterGoogle - 来展示我正在做的事情的模式,并展示该问题并非特定于提供商;不过为了简单起见,我们尝试只关注 Twitter。

现在根据this document -- 来自 close fork上述项目的 - 除了我上面实现的(以编程方式)之外,还需要在社交应用程序部分中为它们设置相同的社交帐户和 key / secret key Django 管理面板。 (请注意,该 fork 或多或少是由同一团队开发的;因此此要求可能也适用于原始上游实现)。该文件的相关部分说明如下:

After restoring, you need to re-enter social login info. Unfortunately, even though this information is required to be in the config environment that initializes biostar, it also requires it (redundantly) to be in the database as well. So go to the Django Admin panel and click on Social Apps and then go through each app and fill in the appropriate values.

所以我也这么做了。

无论我尝试什么(不同的提供程序、不同的 key 、django 面板添加、没有 django 面板添加等),我都会遇到上述异常,就好像我错过了一步一样。

顺便说一句,我尝试了 Twitter 的两个 key 对(因为我总是忘记使用哪一对;所以尝试了两个消费者 key (API key ) + 消费者 secret (API secret ) 访问 token + 访问 token secret ,尽管它实际上是以前是我在网上读到的)。只是为了完整性而提及这一点。

我错过了什么?有什么想法吗?

提前谢谢您! :)

EDIT-1:这是异常的完整粘贴:https://pastebin.com/0UBAfAtu

最佳答案

我一次又一次地遇到同样的错误并用这个解决..

我们收到此错误的原因 SITE_ID = 1当出现“SocialApp匹配查询不存在”时,

this ID needs to be replaced.

SITE_ID = 1

希望其他面临此问题的人能够得到帮助。

关于python - Django:DoesNotExist:SocialApp 匹配查询不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46487533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com