我在使用django-allauth时遇到了麻烦。我收到此错误。

NoReverseMatch位于/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",
)

我还从allauth提供的管理模块中添加了Facebook secret 和应用ID。

期待快速回复。

最佳答案

只是面对并解决了同样的问题。您需要安装django-allauth依赖的Facebook SDK egg,即:

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

(顺便说一句,如果您使用的是Django 1.4,则由于django-allauth未使用新的时区感知日期而在确认电子邮件地址时会遇到运行时错误。快速修复方法是设置
USE_TZ = False

在您的settings.py中。)

关于python - 使用django-allauth,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11065610/

10-12 23:07