Opened 15 years ago

Last modified 6 years ago

#12892 closed

UnicodeEncodeError in contrib.admindocs with non-EN locale — at Initial Version

Reported by: Beuc Owned by: nobody
Component: Internationalization Version: 1.1
Severity: Keywords:
Cc: Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

I have this in my urls.py:

(r'admin/doc/', include('django.contrib.admindocs.urls')),

and this in my settings.py:
LANGUAGE_CODE = 'fr'
# (same with 'fr-fr')

If I go to http://localhost:8000/admin/doc/models/auth.user/

I get:
Unicode error hint

The string that could not be encoded/decoded was: <modèle :u

Environment:

Request Method: GET
Request URL: http://localhost:8000/admin/doc/models/auth.user/
Django Version: 1.1.1
Python Version: 2.5.5
Installed Applications:
['django.contrib.auth',

'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.admin',
'django.contrib.admindocs',
'test421']

Installed Middleware:
('django.middleware.common.CommonMiddleware',

'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'test421.middleware.requirelogin.RequireLoginMiddleware')

Traceback:
File "/usr/lib/pymodules/python2.5/django/core/handlers/base.py" in get_response

  1. response = callback(request, *callback_args, callback_kwargs)

File "/usr/lib/pymodules/python2.5/django/contrib/admin/views/decorators.py" in _checklogin

  1. return view_func(request, *args, kwargs)

File "/usr/lib/pymodules/python2.5/django/contrib/admindocs/views.py" in model_detail

  1. 'verbose': utils.parse_rst(_("all %s") % verbose , 'model', _('model:') + opts.module_name),

File "/usr/lib/pymodules/python2.5/django/contrib/admindocs/utils.py" in parse_rst

  1. settings_overrides=overrides)

File "/usr/lib/pymodules/python2.5/docutils/core.py" in publish_parts

  1. enable_exit_status=enable_exit_status)

File "/usr/lib/pymodules/python2.5/docutils/core.py" in publish_programmatically

  1. output = pub.publish(enable_exit_status=enable_exit_status)

File "/usr/lib/pymodules/python2.5/docutils/core.py" in publish

  1. self.settings)

File "/usr/lib/pymodules/python2.5/docutils/readers/init.py" in read

  1. self.parse()

File "/usr/lib/pymodules/python2.5/docutils/readers/init.py" in parse

  1. self.document = document = self.new_document()

File "/usr/lib/pymodules/python2.5/docutils/readers/init.py" in new_document

  1. document = utils.new_document(self.source.source_path, self.settings)

File "/usr/lib/pymodules/python2.5/docutils/utils.py" in new_document

  1. source_path = decode_path(source_path)

File "/usr/lib/pymodules/python2.5/docutils/utils.py" in decode_path

  1. path = path.decode(sys.getfilesystemencoding(), 'strict')

File "/usr/lib/python2.5/encodings/utf_8.py" in decode

  1. return codecs.utf_8_decode(input, errors, True)

Exception Type: UnicodeEncodeError at /admin/doc/models/auth.user/
Exception Value: 'ascii' codec can't encode character u'\xe8' in position 4: ordinal not in range(128)

If I switch to:
LANGUAGE_CODE='en-US'

the problem disappears.

It looks like the translated string is not properly declared as Unicode.

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top