0

readme に従って allauth をセットアップしました。syncdb など。

ただし、管理者でソーシャル アプリをセットアップしようとすると、プロバイダーのドロップダウンが空になります。

providers/ init .py ファイルに get_list() を出力しようとしました(これは models.py と as_choices() メソッドで使用されているメソッドだと思います。

私がどこで間違っているかについての指針はありますか?:)

どんな助けでも大歓迎です。

敬具、

ピート

私の設定ファイル(ほとんどの場合):

from os.path import abspath, basename, dirname, join, normpath
DJANGO_ROOT = dirname(dirname(abspath(__file__)))
SITE_NAME = basename(DJANGO_ROOT)
SITE_ROOT = dirname(DJANGO_ROOT)
sys.path.append(SITE_ROOT)
sys.path.append(normpath(join(DJANGO_ROOT, 'apps')))
sys.path.append(normpath(join(DJANGO_ROOT, 'libs')))

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    #Authentication/signup backend
    'project.apps.allauth',
    'project.apps.allauth.account',
    'project.apps.allauth.socialaccount',
    'project.apps.allauth.socialaccount.providers.facebook',
    'django.contrib.admin',

TEMPLATE_CONTEXT_PROCESSORS = (
    'django.core.context_processors.request',
    'django.contrib.auth.context_processors.auth',
    'project.apps.allauth.account.context_processors.account',
    'project.apps.allauth.socialaccount.context_processors.socialaccount',
)

ACCOUNT_ADAPTER = 'project.apps.allauth.account.adapter.DefaultAccountAdapter'
ACCOUNT_AUTHENTICATION_METHOD = 'username_email'
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_PASSWORD_MIN_LENGTH = 8
ACCOUNT_SIGNUP_PASSWORD_VERIFICATION = False
ACCOUNT_UNIQUE_EMAIL = True
ACCOUNT_USERNAME_REQUIRED = False
SOCIALACCOUNT_PROVIDERS = {'facebook': {'SCOPE': ['email'], 'AUTH_PARAMS': {'auth_type':     'reauthenticate'}, 'METHOD': 'js_sdk', 'LOCALE_FUNC': 'path.to.callable'}}

私のURLファイル:

urlpatterns = patterns('',
                   #(r'^/$', include('project.apps.main.urls')),
                   #(r'^account/$', include('project.apps.account.urls')),
                   (r'^admin/', include(admin.site.urls)),
                   (r'^registration/', include('project.apps.allauth.urls')),
)
4

1 に答える 1

1

これが問題の原因かどうかはわかりませんが、手動で微調整した Python パスで実行しているようです: project.apps の下に allauth を配置しました。たとえば、allauth が自分自身をインポートし始めたときに何が起こるかを考えてみましょう: 「from allauth import ...」。あなたの場合、同じモジュール/コードは、project.apps および allauth を介して直接到達できます。できれば virtualenv などのツールを使用して、インストールを「正規化」してみてください。

于 2013-03-13T22:14:02.473 に答える