django访问静态资源文件报编码错误解决办法
By:Roy.LiuLast updated:2015-03-09
今天在将一个在windows xp 环境下开发的django应用移植到window 2003上去跑的时候,居然出现了静态资源文件编码问题, 很奇怪。这种问题只会在用django自带的 server 下才会出现,用 apache uwsgi是不会出现的。下面是错误的日志.
可以发现所有的静态资源文件,包括css, js, 图片文件都找不到,后台错误报编码错误。
试过很多办法,包括在settings.py 中设置 DEFATULT_CHARSET='UTF-8' 等,也还试过有人说过的,在manage.py 中加入下面的语句:
这样做,貌似会解决部分问题,但没有全部解决。有部分css,js 可以打开,但图片好像还是有问题,继续找答案,最好找到一个方案可以解决:
在C:\Python27\Lib\site-packages 目录下增加一个文件:sitecustomize.py 其内容如下:
再次运行django server , 一切正常了。
后台再也没报错了,但如果部署在apache 下是没这种问题的,这问题仅出现在django server 运行时.
Validating models... 0 errors found March 09, 2015 - 19:43:48 Django version 1.6.2, using settings 'yihaomen.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK. [09/Mar/2015 19:43:57] "GET / HTTP/1.1" 200 13418 Traceback (most recent call last): File "C:\Python27\lib\wsgiref\handlers.py", line 85, in run self.result = application(self.environ, self.start_response) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 68, in __call__ return super(StaticFilesHandler, self).__call__(environ, start_response) File "C:\Python27\lib\site-packages\django\core\handlers\wsgi.py", line 206, in __call__ response = self.get_response(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 58, in get_response return self.serve(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 51, in serve return serve(request, self.file_path(request.path), insecure=True) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\views.py", line 41, in serve return static.serve(request, path, document_root=document_root, **kwargs) File "C:\Python27\lib\site-packages\django\views\static.py", line 61, in serve content_type, encoding = mimetypes.guess_type(fullpath) File "C:\Python27\lib\mimetypes.py", line 297, in guess_type init() File "C:\Python27\lib\mimetypes.py", line 358, in init db.read_windows_registry() File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry for subkeyname in enum_types(hkcr): File "C:\Python27\lib\mimetypes.py", line 249, in enum_types ctype = ctype.encode(default_encoding) # omit in 3.x! File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode byte 0xd7 in position 9: invalid continuation byte [09/Mar/2015 19:43:58] "GET /static/yihaomen/blog/css/navigation2008.css HTTP/1.1" 500 59 Traceback (most recent call last): File "C:\Python27\lib\wsgiref\handlers.py", line 85, in run self.result = application(self.environ, self.start_response) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 68, in __call__ return super(StaticFilesHandler, self).__call__(environ, start_response) File "C:\Python27\lib\site-packages\django\core\handlers\wsgi.py", line 206, in __call__ response = self.get_response(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 58, in get_response return self.serve(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 51, in serve return serve(request, self.file_path(request.path), insecure=True) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\views.py", line 41, in serve return static.serve(request, path, document_root=document_root, **kwargs) File "C:\Python27\lib\site-packages\django\views\static.py", line 61, in serve content_type, encoding = mimetypes.guess_type(fullpath) File "C:\Python27\lib\mimetypes.py", line 297, in guess_type init() File "C:\Python27\lib\mimetypes.py", line 358, in init db.read_windows_registry() File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry for subkeyname in enum_types(hkcr): File "C:\Python27\lib\mimetypes.py", line 249, in enum_types ctype = ctype.encode(default_encoding) # omit in 3.x! File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode byte 0xd7 in position 9: invalid continuation byte [09/Mar/2015 19:43:58] "GET /static/yihaomen/blog/css/red.css HTTP/1.1" 500 59 Traceback (most recent call last): File "C:\Python27\lib\wsgiref\handlers.py", line 85, in run self.result = application(self.environ, self.start_response) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 68, in __call__ return super(StaticFilesHandler, self).__call__(environ, start_response) File "C:\Python27\lib\site-packages\django\core\handlers\wsgi.py", line 206, in __call__ response = self.get_response(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 58, in get_response return self.serve(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 51, in serve return serve(request, self.file_path(request.path), insecure=True) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\views.py", line 41, in serve return static.serve(request, path, document_root=document_root, **kwargs) File "C:\Python27\lib\site-packages\django\views\static.py", line 61, in serve content_type, encoding = mimetypes.guess_type(fullpath) File "C:\Python27\lib\mimetypes.py", line 297, in guess_type init() File "C:\Python27\lib\mimetypes.py", line 358, in init db.read_windows_registry() File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry for subkeyname in enum_types(hkcr): File "C:\Python27\lib\mimetypes.py", line 249, in enum_types ctype = ctype.encode(default_encoding) # omit in 3.x! File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode byte 0xd7 in position 9: invalid continuation byte [09/Mar/2015 19:43:58] "GET /static/yihaomen/blog/css/generic.css HTTP/1.1" 500 59 Traceback (most recent call last): File "C:\Python27\lib\wsgiref\handlers.py", line 85, in run self.result = application(self.environ, self.start_response) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 68, in __call__ return super(StaticFilesHandler, self).__call__(environ, start_response) File "C:\Python27\lib\site-packages\django\core\handlers\wsgi.py", line 206, in __call__ response = self.get_response(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 58, in get_response return self.serve(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 51, in serve return serve(request, self.file_path(request.path), insecure=True) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\views.py", line 41, in serve return static.serve(request, path, document_root=document_root, **kwargs) File "C:\Python27\lib\site-packages\django\views\static.py", line 61, in serve content_type, encoding = mimetypes.guess_type(fullpath) File "C:\Python27\lib\mimetypes.py", line 297, in guess_type init() File "C:\Python27\lib\mimetypes.py", line 358, in init db.read_windows_registry() File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry for subkeyname in enum_types(hkcr): File "C:\Python27\lib\mimetypes.py", line 249, in enum_types ctype = ctype.encode(default_encoding) # omit in 3.x! File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode byte 0xd7 in position 9: invalid continuation byte [09/Mar/2015 19:43:58] "GET /static/yihaomen/blog/css/main.css HTTP/1.1" 500 59 Traceback (most recent call last): File "C:\Python27\lib\wsgiref\handlers.py", line 85, in run self.result = application(self.environ, self.start_response) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 68, in __call__ return super(StaticFilesHandler, self).__call__(environ, start_response) File "C:\Python27\lib\site-packages\django\core\handlers\wsgi.py", line 206, in __call__ response = self.get_response(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 58, in get_response return self.serve(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 51, in serve return serve(request, self.file_path(request.path), insecure=True) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\views.py", line 41, in serve return static.serve(request, path, document_root=document_root, **kwargs) File "C:\Python27\lib\site-packages\django\views\static.py", line 61, in serve content_type, encoding = mimetypes.guess_type(fullpath) File "C:\Python27\lib\mimetypes.py", line 297, in guess_type init() File "C:\Python27\lib\mimetypes.py", line 358, in init db.read_windows_registry() File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry for subkeyname in enum_types(hkcr): File "C:\Python27\lib\mimetypes.py", line 249, in enum_types ctype = ctype.encode(default_encoding) # omit in 3.x! File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode byte 0xd7 in position 9: invalid continuation byte [09/Mar/2015 19:43:58] "GET /static/yihaomen/blog/css/content.css HTTP/1.1" 500 59 Traceback (most recent call last): File "C:\Python27\lib\wsgiref\handlers.py", line 85, in run self.result = application(self.environ, self.start_response) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 68, in __call__ return super(StaticFilesHandler, self).__call__(environ, start_response) File "C:\Python27\lib\site-packages\django\core\handlers\wsgi.py", line 206, in __call__ response = self.get_response(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 58, in get_response return self.serve(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 51, in serve return serve(request, self.file_path(request.path), insecure=True) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\views.py", line 41, in serve return static.serve(request, path, document_root=document_root, **kwargs) File "C:\Python27\lib\site-packages\django\views\static.py", line 61, in serve content_type, encoding = mimetypes.guess_type(fullpath) File "C:\Python27\lib\mimetypes.py", line 297, in guess_type init() File "C:\Python27\lib\mimetypes.py", line 358, in init db.read_windows_registry() File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry for subkeyname in enum_types(hkcr): File "C:\Python27\lib\mimetypes.py", line 249, in enum_types ctype = ctype.encode(default_encoding) # omit in 3.x! File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode byte 0xd7 in position 9: invalid continuation byte [09/Mar/2015 19:43:58] "GET /static/yihaomen/blog/scripts/common/cascading-menus.js HTTP/1.1" 500 59 Traceback (most recent call last): File "C:\Python27\lib\wsgiref\handlers.py", line 85, in run self.result = application(self.environ, self.start_response) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 68, in __call__ return super(StaticFilesHandler, self).__call__(environ, start_response) File "C:\Python27\lib\site-packages\django\core\handlers\wsgi.py", line 206, in __call__ response = self.get_response(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 58, in get_response return self.serve(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 51, in serve return serve(request, self.file_path(request.path), insecure=True) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\views.py", line 41, in serve return static.serve(request, path, document_root=document_root, **kwargs) File "C:\Python27\lib\site-packages\django\views\static.py", line 61, in serve content_type, encoding = mimetypes.guess_type(fullpath) File "C:\Python27\lib\mimetypes.py", line 297, in guess_type init() File "C:\Python27\lib\mimetypes.py", line 358, in init db.read_windows_registry() File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry for subkeyname in enum_types(hkcr): File "C:\Python27\lib\mimetypes.py", line 249, in enum_types ctype = ctype.encode(default_encoding) # omit in 3.x! File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode byte 0xd7 in position 9: invalid continuation byte Traceback (most recent call last): Traceback (most recent call last): Traceback (most recent call last): Traceback (most recent call last): File "C:\Python27\lib\wsgiref\handlers.py", line 85, in run self.result = application(self.environ, self.start_response) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 68, in __call__ return super(StaticFilesHandler, self).__call__(environ, start_response) File "C:\Python27\lib\site-packages\django\core\handlers\wsgi.py", line 206, in __call__ response = self.get_response(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 58, in get_response return self.serve(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 51, in serve return serve(request, self.file_path(request.path), insecure=True) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\views.py", line 41, in serve return static.serve(request, path, document_root=document_root, **kwargs) File "C:\Python27\lib\site-packages\django\views\static.py", line 61, in serve content_type, encoding = mimetypes.guess_type(fullpath) File "C:\Python27\lib\mimetypes.py", line 297, in guess_type init() File "C:\Python27\lib\mimetypes.py", line 358, in init db.read_windows_registry() File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry for subkeyname in enum_types(hkcr): File "C:\Python27\lib\mimetypes.py", line 249, in enum_types ctype = ctype.encode(default_encoding) # omit in 3.x! File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode byte 0xd7 in position 9: invalid continuation byte [09/Mar/2015 19:43:58] "GET /static/yihaomen/blog/scripts/jquery-1.7.2.min.js HTTP/1.1" 500 59 [09/Mar/2015 19:43:58] "GET /static/yihaomen/blog/scripts/common/alertbox.js HTTP/1.1" 500 59 File "C:\Python27\lib\wsgiref\handlers.py", line 85, in run self.result = application(self.environ, self.start_response) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 68, in __call__ return super(StaticFilesHandler, self).__call__(environ, start_response) File "C:\Python27\lib\site-packages\django\core\handlers\wsgi.py", line 206, in __call__ response = self.get_response(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 58, in get_response return self.serve(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 51, in serve return serve(request, self.file_path(request.path), insecure=True) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\views.py", line 41, in serve return static.serve(request, path, document_root=document_root, **kwargs) File "C:\Python27\lib\site-packages\django\views\static.py", line 61, in serve content_type, encoding = mimetypes.guess_type(fullpath) File "C:\Python27\lib\mimetypes.py", line 297, in guess_type init() File "C:\Python27\lib\mimetypes.py", line 358, in init db.read_windows_registry() File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry for subkeyname in enum_types(hkcr): File "C:\Python27\lib\mimetypes.py", line 249, in enum_types ctype = ctype.encode(default_encoding) # omit in 3.x! File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode byte 0xd7 in position 9: invalid continuation byte [09/Mar/2015 19:43:58] "GET /static/yihaomen/blog/css/button.css HTTP/1.1" 500 59 File "C:\Python27\lib\wsgiref\handlers.py", line 85, in run self.result = application(self.environ, self.start_response) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 68, in __call__ return super(StaticFilesHandler, self).__call__(environ, start_response) File "C:\Python27\lib\site-packages\django\core\handlers\wsgi.py", line 206, in __call__ File "C:\Python27\lib\wsgiref\handlers.py", line 85, in run self.result = application(self.environ, self.start_response) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 68, in __call__ return super(StaticFilesHandler, self).__call__(environ, start_response) File "C:\Python27\lib\site-packages\django\core\handlers\wsgi.py", line 206, in __call__ response = self.get_response(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 58, in get_response return self.serve(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 51, in serve return serve(request, self.file_path(request.path), insecure=True) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\views.py", line 41, in serve return static.serve(request, path, document_root=document_root, **kwargs) File "C:\Python27\lib\site-packages\django\views\static.py", line 61, in serve content_type, encoding = mimetypes.guess_type(fullpath) File "C:\Python27\lib\mimetypes.py", line 297, in guess_type init() File "C:\Python27\lib\mimetypes.py", line 358, in init db.read_windows_registry() File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry for subkeyname in enum_types(hkcr): File "C:\Python27\lib\mimetypes.py", line 249, in enum_types ctype = ctype.encode(default_encoding) # omit in 3.x! File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode byte 0xd7 in position 9: invalid continuation byte [09/Mar/2015 19:43:58] "GET /static/yihaomen/blog/scripts/common/mycookies.js HTTP/1.1" 500 59 response = self.get_response(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 58, in get_response return self.serve(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 51, in serve return serve(request, self.file_path(request.path), insecure=True) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\views.py", line 41, in serve return static.serve(request, path, document_root=document_root, **kwargs) File "C:\Python27\lib\site-packages\django\views\static.py", line 61, in serve content_type, encoding = mimetypes.guess_type(fullpath) File "C:\Python27\lib\mimetypes.py", line 297, in guess_type init() File "C:\Python27\lib\mimetypes.py", line 358, in init db.read_windows_registry() File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry for subkeyname in enum_types(hkcr): File "C:\Python27\lib\mimetypes.py", line 249, in enum_types ctype = ctype.encode(default_encoding) # omit in 3.x! File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode byte 0xd7 in position 9: invalid continuation byte [09/Mar/2015 19:43:58] "GET /static/yihaomen/blog/css/h_dropdown.css HTTP/1.1" 500 59 Traceback (most recent call last): File "C:\Python27\lib\wsgiref\handlers.py", line 85, in run self.result = application(self.environ, self.start_response) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 68, in __call__ return super(StaticFilesHandler, self).__call__(environ, start_response) File "C:\Python27\lib\site-packages\django\core\handlers\wsgi.py", line 206, in __call__ response = self.get_response(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 58, in get_response return self.serve(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 51, in serve return serve(request, self.file_path(request.path), insecure=True) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\views.py", line 41, in serve return static.serve(request, path, document_root=document_root, **kwargs) File "C:\Python27\lib\site-packages\django\views\static.py", line 61, in serve content_type, encoding = mimetypes.guess_type(fullpath) File "C:\Python27\lib\mimetypes.py", line 297, in guess_type init() File "C:\Python27\lib\mimetypes.py", line 358, in init db.read_windows_registry() File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry for subkeyname in enum_types(hkcr): File "C:\Python27\lib\mimetypes.py", line 249, in enum_types ctype = ctype.encode(default_encoding) # omit in 3.x! File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode byte 0xd7 in position 9: invalid continuation byte [09/Mar/2015 19:43:58] "GET /static/yihaomen/blog/scripts/common/yihaomen.js HTTP/1.1" 500 59 Traceback (most recent call last): File "C:\Python27\lib\wsgiref\handlers.py", line 85, in run self.result = application(self.environ, self.start_response) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 68, in __call__ return super(StaticFilesHandler, self).__call__(environ, start_response) File "C:\Python27\lib\site-packages\django\core\handlers\wsgi.py", line 206, in __call__ response = self.get_response(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 58, in get_response return self.serve(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 51, in serve return serve(request, self.file_path(request.path), insecure=True) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\views.py", line 41, in serve return static.serve(request, path, document_root=document_root, **kwargs) File "C:\Python27\lib\site-packages\django\views\static.py", line 61, in serve content_type, encoding = mimetypes.guess_type(fullpath) File "C:\Python27\lib\mimetypes.py", line 297, in guess_type init() File "C:\Python27\lib\mimetypes.py", line 358, in init db.read_windows_registry() File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry for subkeyname in enum_types(hkcr): File "C:\Python27\lib\mimetypes.py", line 249, in enum_types ctype = ctype.encode(default_encoding) # omit in 3.x! File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode byte 0xd7 in position 9: invalid continuation byte [09/Mar/2015 19:43:58] "GET /static/yihaomen/blog/images/yihaomen.gif HTTP/1.1" 500 59 Traceback (most recent call last): File "C:\Python27\lib\wsgiref\handlers.py", line 85, in run self.result = application(self.environ, self.start_response) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 68, in __call__ return super(StaticFilesHandler, self).__call__(environ, start_response) File "C:\Python27\lib\site-packages\django\core\handlers\wsgi.py", line 206, in __call__ response = self.get_response(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 58, in get_response return self.serve(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 51, in serve return serve(request, self.file_path(request.path), insecure=True) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\views.py", line 41, in serve return static.serve(request, path, document_root=document_root, **kwargs) File "C:\Python27\lib\site-packages\django\views\static.py", line 61, in serve content_type, encoding = mimetypes.guess_type(fullpath) File "C:\Python27\lib\mimetypes.py", line 297, in guess_type init() File "C:\Python27\lib\mimetypes.py", line 358, in init db.read_windows_registry() File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry for subkeyname in enum_types(hkcr): File "C:\Python27\lib\mimetypes.py", line 249, in enum_types ctype = ctype.encode(default_encoding) # omit in 3.x! File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode byte 0xd7 in position 9: invalid continuation byte [09/Mar/2015 19:43:58] "GET /static/upload/201503/1425817554.11.small.jpg HTTP/1.1" 500 59 Traceback (most recent call last): File "C:\Python27\lib\wsgiref\handlers.py", line 85, in run self.result = application(self.environ, self.start_response) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 68, in __call__ return super(StaticFilesHandler, self).__call__(environ, start_response) File "C:\Python27\lib\site-packages\django\core\handlers\wsgi.py", line 206, in __call__ response = self.get_response(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 58, in get_response Traceback (most recent call last): Traceback (most recent call last): File "C:\Python27\lib\wsgiref\handlers.py", line 85, in run self.result = application(self.environ, self.start_response) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 68, in __call__ return super(StaticFilesHandler, self).__call__(environ, start_response) File "C:\Python27\lib\site-packages\django\core\handlers\wsgi.py", line 206, in __call__ response = self.get_response(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 58, in get_response return self.serve(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 51, in serve return serve(request, self.file_path(request.path), insecure=True) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\views.py", line 41, in serve return static.serve(request, path, document_root=document_root, **kwargs) File "C:\Python27\lib\site-packages\django\views\static.py", line 61, in serve content_type, encoding = mimetypes.guess_type(fullpath) File "C:\Python27\lib\mimetypes.py", line 297, in guess_type init() File "C:\Python27\lib\mimetypes.py", line 358, in init db.read_windows_registry() File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry for subkeyname in enum_types(hkcr): File "C:\Python27\lib\mimetypes.py", line 249, in enum_types ctype = ctype.encode(default_encoding) # omit in 3.x! File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode byte 0xd7 in position 9: invalid continuation byte [09/Mar/2015 19:43:58] "GET /static/upload/201503/1425817529.21.small.jpg HTTP/1.1" 500 59 File "C:\Python27\lib\wsgiref\handlers.py", line 85, in run self.result = application(self.environ, self.start_response) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 68, in __call__ return super(StaticFilesHandler, self).__call__(environ, start_response) File "C:\Python27\lib\site-packages\django\core\handlers\wsgi.py", line 206, in __call__ response = self.get_response(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 58, in get_response return self.serve(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 51, in serve return serve(request, self.file_path(request.path), insecure=True) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\views.py", line 41, in serve return static.serve(request, path, document_root=document_root, **kwargs) File "C:\Python27\lib\site-packages\django\views\static.py", line 61, in serve content_type, encoding = mimetypes.guess_type(fullpath) File "C:\Python27\lib\mimetypes.py", line 297, in guess_type init() File "C:\Python27\lib\mimetypes.py", line 358, in init db.read_windows_registry() File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry for subkeyname in enum_types(hkcr): File "C:\Python27\lib\mimetypes.py", line 249, in enum_types ctype = ctype.encode(default_encoding) # omit in 3.x! File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode byte 0xd7 in position 9: invalid continuation byte [09/Mar/2015 19:43:58] "GET /static/yihaomen/blog/images/layout/bkg-content-base-right.gif HTTP/1.1" 500 59 return self.serve(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 51, in serve return serve(request, self.file_path(request.path), insecure=True) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\views.py", line 41, in serve return static.serve(request, path, document_root=document_root, **kwargs) File "C:\Python27\lib\site-packages\django\views\static.py", line 61, in serve content_type, encoding = mimetypes.guess_type(fullpath) Traceback (most recent call last): Traceback (most recent call last): File "C:\Python27\lib\wsgiref\handlers.py", line 85, in run self.result = application(self.environ, self.start_response) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 68, in __call__ return super(StaticFilesHandler, self).__call__(environ, start_response) File "C:\Python27\lib\site-packages\django\core\handlers\wsgi.py", line 206, in __call__ response = self.get_response(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 58, in get_response return self.serve(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 51, in serve return serve(request, self.file_path(request.path), insecure=True) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\views.py", line 41, in serve return static.serve(request, path, document_root=document_root, **kwargs) File "C:\Python27\lib\site-packages\django\views\static.py", line 61, in serve content_type, encoding = mimetypes.guess_type(fullpath) File "C:\Python27\lib\mimetypes.py", line 297, in guess_type init() File "C:\Python27\lib\mimetypes.py", line 358, in init db.read_windows_registry() File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry for subkeyname in enum_types(hkcr): File "C:\Python27\lib\mimetypes.py", line 249, in enum_types ctype = ctype.encode(default_encoding) # omit in 3.x! File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode byte 0xd7 in position 9: invalid continuation byte [09/Mar/2015 19:43:58] "GET /static/yihaomen/blog/images/layout/default_banner.jpg HTTP/1.1" 500 59 File "C:\Python27\lib\mimetypes.py", line 297, in guess_type init() File "C:\Python27\lib\mimetypes.py", line 358, in init db.read_windows_registry() File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry for subkeyname in enum_types(hkcr): File "C:\Python27\lib\mimetypes.py", line 249, in enum_types ctype = ctype.encode(default_encoding) # omit in 3.x! File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode byte 0xd7 in position 9: invalid continuation byte [09/Mar/2015 19:43:58] "GET /static/yihaomen/blog/images/layout/rhc-birds.jpg HTTP/1.1" 500 59 File "C:\Python27\lib\wsgiref\handlers.py", line 85, in run self.result = application(self.environ, self.start_response) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 68, in __call__ return super(StaticFilesHandler, self).__call__(environ, start_response) File "C:\Python27\lib\site-packages\django\core\handlers\wsgi.py", line 206, in __call__ response = self.get_response(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 58, in get_response return self.serve(request) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 51, in serve return serve(request, self.file_path(request.path), insecure=True) File "C:\Python27\lib\site-packages\django\contrib\staticfiles\views.py", line 41, in serve return static.serve(request, path, document_root=document_root, **kwargs) File "C:\Python27\lib\site-packages\django\views\static.py", line 61, in serve content_type, encoding = mimetypes.guess_type(fullpath) File "C:\Python27\lib\mimetypes.py", line 297, in guess_type init() File "C:\Python27\lib\mimetypes.py", line 358, in init db.read_windows_registry() File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry for subkeyname in enum_types(hkcr): File "C:\Python27\lib\mimetypes.py", line 249, in enum_types ctype = ctype.encode(default_encoding) # omit in 3.x! File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode byte 0xd7 in position 9: invalid continuation byte [09/Mar/2015 19:43:58] "GET /static/yihaomen/blog/images/random/tb2.jpg HTTP/1.1" 500 59
可以发现所有的静态资源文件,包括css, js, 图片文件都找不到,后台错误报编码错误。
试过很多办法,包括在settings.py 中设置 DEFATULT_CHARSET='UTF-8' 等,也还试过有人说过的,在manage.py 中加入下面的语句:
reload = reload(sys) sys.setdefaultencoding("cp1251") #其实这里还会报错,貌似python2.7 不支持 setdefaultencoding
这样做,貌似会解决部分问题,但没有全部解决。有部分css,js 可以打开,但图片好像还是有问题,继续找答案,最好找到一个方案可以解决:
在C:\Python27\Lib\site-packages 目录下增加一个文件:sitecustomize.py 其内容如下:
import sys sys.setdefaultencoding("cp1251")
再次运行django server , 一切正常了。
后台再也没报错了,但如果部署在apache 下是没这种问题的,这问题仅出现在django server 运行时.
From:一号门
Previous:python whl 格式文件的安装
COMMENTS