Opened 12 years ago

Closed 12 years ago

#17185 closed Bug (duplicate)

[patch] createsuperuser fails when locale is not set

Reported by: Niels Poppe Owned by: nobody
Component: contrib.auth Version: 1.3
Severity: Normal Keywords:
Cc: Triage Stage: Unreviewed
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: yes UI/UX: no


When locale(1) is like

then "./ createsuperuser" results in a traceback ending

File "/usr/lib/py-dev/django-trunk/django/contrib/auth/management/", line 85, in get_system_username
    return getpass.getuser().decode(locale.getdefaultlocale()[1])
TypeError: decode() argument 1 must be string, not None

Since get_system_username() tries to guard against restricted environments like being run in a chroot() environment chances are there is no sane LANG environment either — resulting in getdefaultlocale() returning (None, None).

Assuming ascii encoding is probably okay because UnicodeDecodeError is catched anyway. Calling decode() with ‘ignore’ or not is a matter of taste.

See attached patch.

Attachments (1)

get_username.patch (787 bytes) - added by Niels Poppe 12 years ago.
patches get_system_username() to function correctly when locale is not set up

Download all attachments as: .zip

Change History (2)

Changed 12 years ago by Niels Poppe

Attachment: get_username.patch added

patches get_system_username() to function correctly when locale is not set up

comment:1 Changed 12 years ago by Karen Tracey

Resolution: duplicate
Status: newclosed

Duplicate of #17022, #16017

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