allauth问题:提供者列表在admin中为空

时间:2013-03-12 09:56:30

标签: django django-allauth

我根据自述文件设置了allauth。 syncdb'ed等。

但是,当我尝试在管理员中设置社交应用时,提供商下拉列表为空。

我试图在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'}}

我的网址文件:

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')),
)

1 个答案:

答案 0 :(得分:1)

我不确定这是否是您的问题的原因,但您似乎正在使用手动调整的Python路径运行:您将allauth放在project.apps下面。这可能会引入奇怪之处,例如,考虑allauth开始自我导入时会发生什么:“来自allauth import ...”。在您的情况下,可以通过project.apps和allauth直接访问相同的模块/代码。请尝试“规范化”您的安装,最好使用像virtualenv这样的工具。