首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Django _django-社会登记错误

Django _django-社会登记错误
EN

Stack Overflow用户
提问于 2010-04-15 17:49:15
回答 2查看 1.2K关注 0票数 0

我正在尝试将facebook连接功能添加到我的站点,我决定使用django社会登记.All都安装包括输液器,这是我的源代码。

settings.py

代码语言:javascript
运行
复制
MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'facebook.djangofb.FacebookMiddleware',
    'socialregistration.middleware.FacebookMiddleware',
)

urls.py

代码语言:javascript
运行
复制
(r'^callback/$', 'fbproject.fbapp.views.callback'),

views.py

代码语言:javascript
运行
复制
def callback(request):
    return render_to_response('canvas.fbml')

模板

代码语言:javascript
运行
复制
<html>

<body>
{% load facebook_tags %}
{% facebook_button %}
{% facebook_js %}
</body>

</html>

但是当我指向URL时,我会得到这个错误

代码语言:javascript
运行
复制
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 Python2.6.2

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-15 19:35:17

这肯定是由于POST或GET变量对expires的值不好而导致的。检查正在使用的表单和URL的查询字符串来检查该表单。

如果您查看facebook/__init__.py的代码,您将看到它只尝试为self.session_key_expires设置一个值,如果params (来自request.POSTrequest.GET)已经为expires设置了一个值。

实际上,可能需要再次检查代码,以确保。您应该在facebook/__init__.py中看到这样的行

代码语言:javascript
运行
复制
    if params.get('expires'):
        self.session_key_expires = int(params['expires'])

如果没有,也许你有坏的版本?

现在我想到了update,错误消息明确表示值为none。这可能意味着它们没有包含检查if param.get('expires'),因为我相信这将不会返回任何,然后解析到False

除非您有最新版本的pyfacebook,否则再下载一次。

票数 0
EN

Stack Overflow用户

发布于 2010-06-03 11:52:34

这是pyfacebook中的一个bug。请参阅http://github.com/sciyoshi/pyfacebook/issues#issue/26

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2647729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档