使用django-allauth

5

我有使用django-allauth时遇到了问题。我得到了这个错误:

在/accounts/login/,'facebook_channel' 的反向解析与参数 '()' 和关键字参数 '{}' 不匹配。

到目前为止,我已经完全按照指引操作了。

这是我的settings.py文件:

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # Uncomment the next line to enable the admin:
    'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    # 'django.contrib.admindocs',
    'app',
    'uni_form',
    'emailconfirmation',
    'allauth',
    'allauth.account',
    'allauth.socialaccount',
    'allauth.socialaccount.providers.facebook',
    'allauth.socialaccount.providers.twitter',
)


TEMPLATE_CONTEXT_PROCESSORS = (
    "django.core.context_processors.request",
    "allauth.context_processors.allauth",
    "allauth.account.context_processors.account",
    "django.contrib.auth.context_processors.auth",
)

AUTHENTICATION_BACKENDS = (
    "allauth.account.auth_backends.AuthenticationBackend",
)

我已经在管理员模块中添加了Facebook的秘钥和应用ID,这是由Allauth提供的。期待您的快速回复。
1个回答

10

我刚刚面临同样的问题并解决了它。你需要安装Facebook SDK egg,django-allauth依赖于此,即:

pip install -e git://github.com/pythonforfacebook/facebook-sdk.git#egg=facebook-sdk

顺便说一下,如果您正在使用Django 1.4,则在确认电子邮件地址时会遇到运行时错误,因为django-allauth未使用新的时区感知日期。快速解决方法是设置:

USE_TZ = False

在你的 settings.py 中。


1
哈哈,谢谢。刚才我遇到了TZ错误,你的帖子非常非常有用。 <3 - Yousuf Jawwad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接