Django - в списке списков debug.py вне диапазона - PullRequest
2 голосов
/ 15 июля 2010

Я не могу понять, почему я получаю эту ошибку. Пожалуйста, помогите.

Traceback (последний последний вызов):

Файл "C: \ Python26 \ lib \ site-packages \ django \ core \ servers \ basehttp.py", строка 280, в работе self.result = приложение (self.environ, self.start_response)

Файл "C: \ Python26 \ lib \ site-packages \ django \ core \ servers \ basehttp.py", строка 674, в вызов вернуть self.application (environment, start_response)

Файл "C: \ Python26 \ lib \ site-packages \ django \ core \ handlers \ wsgi.py", строка 241, в вызов response = self.get_response (запрос)

Файл "C: \ Python26 \ lib \ site-packages \ django \ core \ handlers \ base.py", строка 142, в get_response вернуть self.handle_uncaught_exception (запрос, распознаватель, exc_info)

Файл "C: \ Python26 \ lib \ site-packages \ django \ core \ handlers \ base.py", строка 166, в handle_uncaught_exception вернуть debug.technical_500_response (запрос, * exc_info)

Файл "C: \ Python26 \ lib \ site-packages \ django \ views \ debug.py", строка 58, в technical_500_response html = reporter.get_traceback_html ()

Файл "C: \ Python26 \ lib \ site-packages \ django \ views \ debug.py", строка 109, в get_traceback_html frames = self.get_traceback_frames ()

Файл "C: \ Python26 \ lib \ site-packages \ django \ views \ debug.py", строка 228, в get_traceback_frames pre_context_lineno, pre_context, context_line, post_context = self._get_lines_from_file (имя файла, lino, 7, загрузчик, имя модуля)

Файл "C: \ Python26 \ lib \ site-packages \ django \ views \ debug.py", строка 209, в _get_lines_from_file context_line = source [lineno] .strip ('\ n')

IndexError: список индексов выходит за пределы диапазона

может ли это быть из-за использования блокнота ++?

Ответы [ 4 ]

6 голосов
/ 27 апреля 2011

Я знаю, что этот ответ немного запоздал, но он может помочь другим:)

В моем случае это было потому, что я не перезапускал apache и старые файлы, которые использовались, и конфликтовал с новым (яхотя не знаю как).Простая перезагрузка apache устранила проблему (я думаю, что изящная должна работать тоже).

В общем, кажется, что ошибка возникает, когда есть конфликт в файлах, а не проблема из вашего кода.Попробуйте удалить файлы pyc, перезапустить django, apache или то, что в данный момент использует ваш код python.

Это сработало для меня.

1 голос
/ 26 сентября 2011

Исходный файл содержит разрывы строк в Macintosh (\ r), которые не поддерживаются страницей отладки djangos.

См. https://code.djangoproject.com/ticket/13958#comment:5

0 голосов
/ 07 марта 2013

У меня была похожая проблема, и большинство советов по Stackoverflow было: а) удалять файлы * .pyc и перезапускать веб-сервер, или б) проверять разрывы строк в Macintosh (для пользователей Mac).

Оба не помогли.

Ошибка оказалась довольно тривиальной.По какой-то причине для "DEBUG = True" я получал эту ошибку в моих файлах журнала httpd, но когда я изменил "DEBUG = False", я вместо этого начал получать ошибку фактическая в файлах журнала.Так что, по крайней мере, в моем случае это была ложная ошибка в том смысле, что вы не видели реальной проблемы из-за какой-то связи с переключателем DEBUG = True / False.

Короче говоря, попробуйте DEBUG = False , если установлено значение True или наоборот.

0 голосов
/ 15 июля 2010

Это очень странно.Получите утилиту hexdump и посмотрите, какие байты находятся в исходном файле.Возможно, порядок следования байтов в начале файла?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...