我无法弄清楚为什么我会收到此错误。请帮忙。
追踪(最近一次呼叫最后一次):
文件“C:\ Python26 \ lib \ site-packages \ django \ core \ servers \ basehttp.py”,第280行,在运行中 self.result = application(self.environ,self.start_response)
文件“C:\ Python26 \ lib \ site-packages \ django \ core \ servers \ basehttp.py”,第674行,调用 return self.application(environ,start_response)
文件“C:\ Python26 \ lib \ site-packages \ django \ core \ handlers \ wsgi.py”,第241行,调用 response = self.get_response(request)
文件“C:\ Python26 \ lib \ site-packages \ django \ core \ handlers \ base.py”,第142行,在get_response中 return self.handle_uncaught_exception(request,resolver,exc_info)
文件“C:\ Python26 \ lib \ site-packages \ django \ core \ handlers \ base.py”,第166行,在handle_uncaught_exception中 return debug.technical_500_response(request,* 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()
get_traceback_frames中的文件“C:\ Python26 \ lib \ site-packages \ django \ views \ debug.py”,第228行 pre_context_lineno,pre_context,context_line,post_context = self._get_lines_from_file(filename,lineno,7,loader,module_name)
文件“C:\ Python26 \ lib \ site-packages \ django \ views \ debug.py”,第209行,在_get_lines_from_file中 context_line = source [lineno] .strip('\ n')
IndexError:列表索引超出范围
是否可以使用notepad ++?
答案 0 :(得分:6)
我知道这个答案有点晚,但它可以帮助其他人:)
在我的情况下,那是因为我没有重新启动apache和旧文件使用和新的冲突(我不知道如何)。一个简单的apache重启修复了这个问题(我觉得优雅也应该工作)。
一般来说,当文件中存在冲突而代码中没有问题时,似乎会发生错误。尝试删除pyc文件,重新启动django,apache或者当前正在使用python代码的内容。
这对我有用。
答案 1 :(得分:1)
源文件包含djangos调试页面不支持的Macintosh换行符(\ r \ n)。
答案 2 :(得分:0)
这很奇怪。获取hexdump实用程序并查看源文件中的字节数。也许在文件开头有一个字节顺序标记?
答案 3 :(得分:0)
我有类似的问题,Stackoverflow上的大多数建议是a)删除* .pyc文件并重新启动网络服务器或b)检查Macintosh换行符(对于Mac用户)。
两者都没有帮助。
错误结果相当微不足道。出于某种原因“DEBUG = True”我在我的httpd日志文件中收到此错误,但是当我更改“DEBUG = False”时,我开始在日志文件中收到实际错误。所以至少在我的情况下,这是一个错误的错误,因为你没有看到真正的问题,因为与DEBUG = True / False开关有关。
简而言之,如果设置为True,则尝试 DEBUG = False ,反之亦然。