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

UnicodeDecodeError

Появляется при попытке доступа к любому из файлов из папки мультимедиа сайта.

Полная трассировка в режиме отладки:

Environment:

Request Method: GET
Request URL: http://127.0.0.1:8000/site-media/img/image.png
Django Version: 1.2.3
Python Version: 2.7.0
Installed Applications:
['django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.admin',
 'django.contrib.markup',
 'special']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware')


Traceback:
File "C:\Languages\Python27\lib\site-packages\django\core\handlers\base.py" in get_response
  100.                     response = callback(request, *callback_args, **callback_kwargs)
File "C:\Languages\Python27\lib\site-packages\django\views\static.py" in serve
  59.     mimetype = mimetypes.guess_type(fullpath)[0] or 'application/octet-stream'
File "C:\Languages\Python27\lib\mimetypes.py" in guess_type
  294.         init()
File "C:\Languages\Python27\lib\mimetypes.py" in init
  355.             db.read_windows_registry()
File "C:\Languages\Python27\lib\mimetypes.py" in read_windows_registry
  260.             for ctype in enum_types(mimedb):
File "C:\Languages\Python27\lib\mimetypes.py" in enum_types
  250.                     ctype = ctype.encode(default_encoding) # omit in 3.x!

Exception Type: UnicodeDecodeError at /site-media/img/image.png
Exception Value: 'ascii' codec can't decode byte 0xe0 in position 0: ordinal not in range(128)

1 Ответ

5 голосов
/ 18 ноября 2010

Кажется, проблема в Python 2.7 mimetypes.py.Посмотрите на следующую ветку обсуждения:

http://groups.google.com/group/django-users/browse_thread/thread/613909b35a7462a0

Существует ссылка на русскую статью, в которой говорится, что при переводе Google:стандартная библиотека исходного кода Python-а позволила нам довольно быстро найти проблему.Windows XP.Я использую Windows XP.[HKEY_CLASSES_ROOT \ CLSID {4063BE15-3B08-470D-A0D5-B37161CFFD69} \ EnableFullPage \ MIME] В моем случае проблема заключалась в том, что в реестре в разделе [HKEY_CLASSES_ROOT \ CLSID \ {4063BE15-3B08-4FFD16037B637068637068037068637068637068637068637068837B0683C0683 по адресуMIME] содержит подразделы, содержащие название кириллицы.Если вы удалите эти ключи, они автоматически воссоздают.Поэтому помог переименовать, просто заменил кириллицу на латиницу.

Вот статья: http://translate.google.fr/translate?js=n&prev=_t&hl=fr&ie=UTF-8&layout=2&eotf=1&sl=ru&tl=en&u=http%3A%2F%2Fvictor-k-development.blogspot.com%2F2010%2F07%2Funicodedecodeerror-django.html

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