Django UnicodeDecodeError при использовании pdb - PullRequest
2 голосов
/ 18 сентября 2010

Я замечаю каждый раз, когда я добавляю:

import pdb; pdb.set_trace()

в мой проект "Испанский Django", если у меня есть определенный символ Unicode в строке вроде:

Gracias por tu colaboración

Iполучить UnicodeDecodeError с 'порядковым номером не в диапазоне (128)' в окне отладки Django.Проблема в том, что я не могу легко отладить свое приложение.С другой стороны, если я использую ipdb, я получаю такие вещи, как:

ERROR - failed to write data to stream: <open file '<stdout>', mode 'w' at 0x7f3d43e34140>

Я гуглил, чтобы найти решение, но похоже, что я единственный, у кого есть эта проблема:)

Ответы [ 2 ]

0 голосов
/ 14 апреля 2014

Обычно эта ошибка появляется, если в вашем файле есть символы, отличные от ascii (например, комментарий или строка). Если вы попытаетесь открыть его без ipdb / pdb, Django отобразит трассировку

0 голосов
/ 18 сентября 2010

Я обнаружил, что другой программист добавил это в начало файла представлений, это нарушает поведение pdb и ipdb, как я описал:

import sys, codecs
sys.stdout = codecs.getwriter('utf-8')(sys.stdout)

Удаление или комментирование этих строк устранило проблему, спасибо.

...