Django-allauthで問題が発生しています。
localhost:9000/admin/
以下の詳細
socialapp。
プロバイダー:名前:クライアントID:アプリID、またはコンシューマーキーキー:シークレット:など。
SITE_ID = 2を設定しました(デフォルトのサイトexample.comをlocalhost:9000に変更したため)
In setting.py
INSTALLED_APPS = (
'Django.contrib.auth',
'Django.contrib.contenttypes',
'Django.contrib.sessions',
'Django.contrib.sites',
'Django.contrib.messages',
'Django.contrib.staticfiles',
'Django.contrib.admin',
'uni_form',
'allauth',
'allauth.account',
'allauth.socialaccount',
'bootstrapform',
# 'allauth.socialaccount.providers.Twitter',
# 'allauth.socialaccount.providers.openid',
'allauth.socialaccount.providers.facebook',
)
SOCIALACCOUNT_PROVIDERS = \
{ 'facebook':
{ 'SCOPE': ['email', 'publish_stream'],
'AUTH_PARAMS': { 'auth_type': 'reauthenticate' },
'METHOD': 'oauth2' ,
'LOCALE_FUNC': 'path.to.callable'} }
さて、URL http://localhost:9000/accounts/facebook/login
エラーが発生します:SocialApp matching query does not exist.
ここで私が間違っていることを教えてください。
Django adminを使用して、Facebookアプリの認証情報をリストするSocialApp
を作成する必要があります。このアプリが適切なサイト(Django.contrib.sites.models.Site
など)に接続されていることを確認してください。
あなたのケースでは、SocialApp
のサイトとしてリストされているid = 2のDjango.contrib.sites.models.Site
インスタンスが必要です(サイト管理者を確認してください)。
SocialApp
がないか、作成されたがsettings.SITE_ID
に一致するサイトに関連付けられていない場合、allauth
はどのアプリを選択すべきかわからないため、上記のエラーメッセージが表示されます。