我已经在我的 django 应用程序中实现了一个非常基本且按教程提供的 Pusher 触发器。起初它工作得很好,但经过几次提交后,我遇到了以下异常:
"object of type 'NoneType' has no len()"
在以下第二行中:
p = pusher.Pusher()
p[page_key].trigger('page_update', {'msgid' : message.id})
不同的或空的 dict 产生相同的结果,与将 page_key 更改为 string 而不是 unicode 相同 - 没有。还要注意 p 和 p.trigger 的 type() 给出了逻辑结果,它们绝对不是 None。
这条线在某些情况下有效(我不知道它们有什么特别之处)并且正如我所提到的那样在过去一直有效,但我不知道我做错了什么。
似乎最后的提交都与 Pusher 无关,所以我很无奈。在网上搜索这个异常并没有什么成果,而且通常没有足够的关于 django + Pusher 的文档。
这可能是我做错的其他事情,但我不知道从哪里开始寻找。
任何帮助将不胜感激。
Traceback:
79. p[page_key].trigger('page_update', {'msgid' : message.id})
File "/usr/local/lib/python2.7/dist-packages/pusher/__init__.py" in trigger
41. status = self.send_request(self.signed_query(event, json_data, socket_id), json_data)
File "/usr/local/lib/python2.7/dist-packages/pusher/__init__.py" in signed_query
54. signature = hmac.new(self.pusher.secret, string_to_sign, hashlib.sha256).hexdigest()
File "/usr/lib/python2.7/hmac.py" in new
133. return HMAC(key, msg, digestmod)
File "/usr/lib/python2.7/hmac.py" in __init__
68. if len(key) > blocksize:
Exception Type: TypeError at /sphere/comment
Exception Value: object of type 'NoneType' has no len()