我正在尝试将facebook连接功能添加到我的网站,我决定使用django socialregistration。所有设置都包括pyfacebook,这是我的源代码。
settings.py
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'facebook.djangofb.FacebookMiddleware',
'socialregistration.middleware.FacebookMiddleware',
)
urls.py
(r'^callback/$', 'fbproject.fbapp.views.callback'),
views.py
def callback(request):
return render_to_response('canvas.fbml')
模板
<html>
<body>
{% load facebook_tags %}
{% facebook_button %}
{% facebook_js %}
</body>
</html>
但是当我指向网址时,我收到此错误
Traceback (most recent call last):
File "C:\Python26\lib\site-packages\django\core\servers\basehttp.py", line 279, in run
self.result = application(self.environ, self.start_response)
File "C:\Python26\lib\site-packages\django\core\servers\basehttp.py", line 651, in __call__
return self.application(environ, start_response)
File "C:\Python26\lib\site-packages\django\core\handlers\wsgi.py", line 241, in __call__
response = self.get_response(request)
File "C:\Python26\lib\site-packages\django\core\handlers\base.py", line 73, in get_response
response = middleware_method(request)
File "build\bdist.win32\egg\socialregistration\middleware.py", line 13, in process_request
request.facebook.check_session(request)
File "C:\Python26\lib\site-packages\facebook\__init__.py", line 1293, in check_session
self.session_key_expires = int(params['expires'])
ValueError: invalid literal for int() with base 10: 'None'
Django 1.1.1 Python 2.6.2
答案 0 :(得分:0)
嗯,这肯定是因为POST或GET变量对expires
的值不好造成的。检查您正在使用的表单和URL的查询字符串以进行检查。
如果您查看facebook/__init__.py
的代码,您会看到它只会尝试为self.session_key_expires
设置params
的值(来自request.POST
或request.GET
{1}})已有expires
的值。
实际上,可能需要仔细检查代码才能确定。你应该在facebook/__init__.py
:
if params.get('expires'):
self.session_key_expires = int(params['expires'])
如果没有,也许你的版本不好?
<强>更新强>
现在我想到了它,错误消息明确表示值为none。这可能意味着他们不包括支票if param.get('expires')
,因为我相信会返回无,然后解析为False
。
除非您拥有pyfacebook的最新副本,否则请尝试再次下载。
答案 1 :(得分:0)
这是pyfacebook中的一个错误。见http://github.com/sciyoshi/pyfacebook/issues#issue/26