2012-06-16 95 views
5

我無法使用django-allauth。我收到這個錯誤。使用django-allauth

NoReverseMatch at/accounts/login/ 未找到參數'()'和關鍵字參數'{}'的'facebook_channel'反向。

到目前爲止,我一直都在關注這封信。

這裏是我的settings.py從管理模塊allauth提供

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。

期待快速回復。

回答

10

剛剛面對並解決了同樣的問題。你需要安裝了Facebook SDK雞蛋,這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 – debuggerpk