我每次放一个时都会注意到:
import pdb; pdb.set_trace()
在My Spanish Django项目中,如果我在字符串中有一个特定的Unicode字符,如:
Gracias por tu colaboración
我在Django Debug窗口中得到一个带有'notdinal not in range(128)'的UnicodeDecodeError。问题是我无法轻松调试我的应用程序。另一方面,如果我使用ipdb,我会得到:
ERROR - failed to write data to stream: <open file '<stdout>', mode 'w' at 0x7f3d43e34140>
我已经google搜索找到了解决方案,但看起来我是唯一一个遇到此问题的人:)
答案 0 :(得分:0)
我发现另一个程序员已将此添加到视图文件的开头,这会破坏pdb和ipdb的行为,正如我所描述的那样:
import sys, codecs
sys.stdout = codecs.getwriter('utf-8')(sys.stdout)
删除或评论这些行可以解决问题,谢谢。
答案 1 :(得分:0)
通常,如果文件中包含非ascii字符(注释或字符串中的mabe),则会显示该错误。 如果你尝试在没有ipdb / pdb的情况下打开它,Django将显示一个追溯