48

私はdjango-allauthを使用localhost:9000/admin/ しており、次の詳細で構成しました:

socialapp .
provider:
Name:
Client id:
App ID, or consumer key
Key:
Secret:  etc .

設定SITE_ID = 2しました(デフォルトサイトexample.comをに変更したためlocalhost:9000

settings.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'} }

私が行くとき:

http://localhost:9000/accounts/facebook/login

私は得る:

Error :  `SocialApp matching query does not exist.

私は何を間違っていますか?

4

5 に答える 5

73

SocialAppDjango管理者を使用して、Facebookアプリの資格情報のリストを作成する必要があります。このアプリが適切なサイトに接続されていることを確認してください(のようにdjango.contrib.sites.models.Site)。

あなたの場合、のサイトとしてリストされているid = 2のインスタンスが必要django.contrib.sites.models.Siteです(サイト管理者を確認してください)SocialApp

が欠落している場合SocialApp、または作成されているがに一致するサイトに添付されていない場合は、settings.SITE_IDどのallauthアプリを選択すればよいかわからないため、上記のエラーメッセージが表示されます。

于 2013-03-15T09:35:23.047 に答える