On Sun, Jun 16, 2013 at 8:06 AM, Ed <drawd...@gmail.com> wrote: > Hello Dear Django Group. > > My first day with Django, I just got it installed on my computer, and am > trying to follow along with the first tutorial: > https://docs.djangoproject.com/en/1.4/intro/tutorial01/ > > I have Django's development server up, and I'm able to see the "It worked!" > Django welcome page. Where I ran into the dead end is at the following > section: > > "The syncdb command looks at the INSTALLED_APPS setting and creates any > necessary database tables according to the database settings in your > settings.py file. You’ll see a message for each database table it creates, > and you’ll get a prompt asking you if you’d like to create a superuser > account for the authentication system. Go ahead and do that." > > Up to this point, I've followed the tutorial line by line. However, after I > ran the command "python manage.py syncdb", I got the error message below, > and it seems to be an internal error to Django. Has anyone else encountered > this issue, and how did you resolve it? Any feedback or insight is > appreciated. Thank you! > > > $ python manage.py syncdb > Creating tables ... > Creating table auth_permission > Creating table auth_group_permissions > Creating table auth_group > Creating table auth_user_user_permissions > Creating table auth_user_groups > Creating table auth_user > Creating table django_content_type > Creating table django_session > Creating table django_site > > You just installed Django's auth system, which means you don't have any > superusers defined. > Would you like to create one now? (yes/no): yes > Traceback (most recent call last): > File "manage.py", line 10, in <module> > execute_from_command_line(sys.argv) > File > "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", > line 443, in execute_from_command_line > utility.execute() > File > "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", > line 382, in execute > self.fetch_command(subcommand).run_from_argv(self.argv) > File > "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", > line 196, in run_from_argv > self.execute(*args, **options.__dict__) > File > "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", > line 232, in execute > output = self.handle(*args, **options) > File > "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", > line 371, in handle > return self.handle_noargs(**options) > File > "/usr/local/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", > line 110, in handle_noargs > emit_post_sync_signal(created_models, verbosity, interactive, db) > File > "/usr/local/lib/python2.7/site-packages/django/core/management/sql.py", line > 189, in emit_post_sync_signal > interactive=interactive, db=db) > File > "/usr/local/lib/python2.7/site-packages/django/dispatch/dispatcher.py", line > 172, in send > response = receiver(signal=self, sender=sender, **named) > File > "/usr/local/lib/python2.7/site-packages/django/contrib/auth/management/__init__.py", > line 73, in create_superuser > call_command("createsuperuser", interactive=True, database=db) > File > "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", > line 150, in call_command > return klass.execute(*args, **defaults) > File > "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", > line 232, in execute > output = self.handle(*args, **options) > File > "/usr/local/lib/python2.7/site-packages/django/contrib/auth/management/commands/createsuperuser.py", > line 70, in handle > default_username = get_default_username() > File > "/usr/local/lib/python2.7/site-packages/django/contrib/auth/management/__init__.py", > line 105, in get_default_username > default_username = get_system_username() > File > "/usr/local/lib/python2.7/site-packages/django/contrib/auth/management/__init__.py", > line 85, in get_system_username > return getpass.getuser().decode(locale.getdefaultlocale()[1]) > TypeError: decode() argument 1 must be string, not None > $ >
Look at the final, breaking, line of code in the stack trace: return getpass.getuser().decode(locale.getdefaultlocale()[1]) The error says that the argument to decode() is None. The argument to decode() is the 2nd value returned by locale.getdefaultlocale(), which returns a 2-tuple of (locale, charset), which is determined (on linux) by examining the value of the environment variable LANG. If LANG is unset or empty (or the "C" locale) then these values are undefined. Django relies on these values being defined to understand input that is given to it. Set a proper LANG in your environment. Use "python -m locale" to check what python sees it as. Common values for LANG are like "en_GB.UTF-8" or "pt_BR.UTF-8". Cheers Tom -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at http://groups.google.com/group/django-users. For more options, visit https://groups.google.com/groups/opt_out.