我正在使用客户端数据库,它将在我的本地系统中成功恢复并正常工作,但当我在该数据库中打印任何报告时。
我从终端获得了以下追溯。
Traceback (most recent call last):
File "/home/best/workspace/dynaweld/web/addons/web/http.py", line 285, in dispatch
r = method(self, **self.params)
File "/home/best/workspace/dynaweld/web/addons/web/controllers/main.py", line 1769, in index
cookies={'fileToken': int(token)})
File "/home/best/workspace/dynaweld/web/addons/web/http.py", line 332, in make_response
response.set_cookie(k, v)
File "/usr/local/lib/python2.7/dist-packages/Werkzeug-0.10.4-py2.7.egg/werkzeug/wrappers.py", line 1008, in set_cookie
self.charset))
File "/usr/local/lib/python2.7/dist-packages/Werkzeug-0.10.4-py2.7.egg/werkzeug/http.py", line 920, in dump_cookie
value = to_bytes(value, charset)
File "/usr/local/lib/python2.7/dist-packages/Werkzeug-0.10.4-py2.7.egg/werkzeug/_compat.py", line 106, in to_bytes
raise TypeError('Expected bytes')
TypeError: Expected bytes
我尝试了以下方法来解决上述追溯问题,但我还没有成功。
1. 尝试从我的本地客户端数据库中删除不需要的数据,删除mail.message对象的所有数据。
2. 从我的系统中删除所有不必要的数据库,并为我的OpenERP服务器运行仅使用2-3个数据库。
3。清理我的电脑,查找与我的数据库无关的不需要的文件和其他详细信息。
4. 我还检查了足够的内存空间,但我有足够的空间来恢复该数据库文件。
任何人都可以帮助我如何解决这个问题。
答案 0 :(得分:0)
这是因为cookie不支持unicode字符,您必须在您尝试设置的cookie中使用已解码的变量。类似的东西:
set_cookie(k, bytes(v))
或至少将您的变量发送为字节。
答案 1 :(得分:0)
我通过安装较旧的werkzeug 0.6.2版来解决此问题