我正在尝试使用django-socialregistration
django-app通过Facebook为我的网站提供身份验证。
我关注了setup guide并安装了依赖项:
$ yolk -l | grep "oauth2\|python-openid\|facebook-sdk\|django-socialregistration"
django-socialregistration - 0.5.4 - active
facebook-sdk - 0.3.0 - active development (/home/***/.virtualenvs/***/src/facebooksdk)
oauth2 - 1.5.211 - active
python-openid - 2.2.5 - active
settings.py
#...
FACEBOOK_APP_ID = '*******'
FACEBOOK_SECRET_KEY = '********'
FACEBOOK_REQUEST_PERMISSIONS = '********'
INSTALLED_APPS = (
#...
'django.contrib.sites',
'socialregistration',
'socialregistration.contrib.facebook'
)
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'socialregistration.contrib.facebook.auth.FacebookAuth',
)
但是......当我运行manage.py syncdb
或manage.py runserver
时,我收到以下错误:
Error: No module named facebookapps.utils
但是在普通代码的任何部分都没有引用facebookapps
。即使django-socialregistration
也没有任何参考,我可以验证。
奇怪的是settings.pyc
。当我grep facebookapps
时:
$ grep -R "facebookapps" .
Binary file ./settings.pyc matches
我已经反复删除了这个文件,但它继续使用此引用生成。
我正在使用Django 1.4。
答案 0 :(得分:1)
如果您的settings.py文件意外构造了facebookapps.utils字符串,该怎么办?例如,字符串facebook和apps.utils是否在INSTALLED_APPS中彼此相邻定义,它们之间的逗号是否被意外跳过? (Python连接相邻的字符串,如“hello”“world”)。或者,您可能在其中一个应用程序中犯了错误吗?