2012-12-19 2 views
5

저는 장고와 웹 개발을 처음 접했습니다. 수퍼 유저를 만들 때 '장고에 확실한 가이드 "에서 학습 나는 내가 모델 중 하나를 표시하고 장고에 확실한 가이드에서 다음과 같은 오류 (OS의 mac10.8.2 & django1.4.3)syncdb 후에 수퍼 유저를 만들 수 없습니다.

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 "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line 
    utility.execute() 
    File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 382, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 196, in run_from_argv 
    self.execute(*args, **options.__dict__) 
    File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 232, in execute 
    output = self.handle(*args, **options) 
    File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 371, in handle 
    return self.handle_noargs(**options) 
    File "/Library/Python/2.7/site-packages/django/core/management/commands/syncdb.py", line 110, in handle_noargs 
    emit_post_sync_signal(created_models, verbosity, interactive, db) 
    File "/Library/Python/2.7/site-packages/django/core/management/sql.py", line 189, in emit_post_sync_signal 
    interactive=interactive, db=db) 
    File "/Library/Python/2.7/site-packages/django/dispatch/dispatcher.py", line 172, in send 
    response = receiver(signal=self, sender=sender, **named) 
    File "/Library/Python/2.7/site-packages/django/contrib/auth/management/__init__.py", line 73, in create_superuser 
    call_command("createsuperuser", interactive=True, database=db) 
    File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 150, in call_command 
    return klass.execute(*args, **defaults) 
    File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 232, in execute 
    output = self.handle(*args, **options) 
    File "/Library/Python/2.7/site-packages/django/contrib/auth/management/commands/createsuperuser.py", line 70, in handle 
    default_username = get_default_username() 
    File "/Library/Python/2.7/site-packages/django/contrib/auth/management/__init__.py", line 105, in get_default_username 
    default_username = get_system_username() 
    File "/Library/Python/2.7/site-packages/django/contrib/auth/management/__init__.py", line 85, in get_system_username 
    return getpass.getuser().decode(locale.getdefaultlocale()[1]) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/locale.py", line 496, in getdefaultlocale 
    return _parse_localename(localename) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/locale.py", line 428, in _parse_localename 
    raise ValueError, 'unknown locale: %s' % localename 
ValueError: unknown locale: UTF-8 

를 얻을.

from django.db import models 
class Publisher(models.Model): 
    name = models.CharField(max_length=30) 
    address = models.CharField(max_length=50) 
    city = models.CharField(max_length=60) 
    state_province = models.CharField(max_length=30) 
    country = models.CharField(max_length=50) 
    website = models.URLField() 

    def __str__(self): 
     return self.name 

    class Meta: 
     ordering = ['name'] 

setting.py 데이터베이스 설정은 다음과 같습니다 : - 나는 오류가 수퍼 유저를 생성하는 예 후

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 
Creating table books_publisher 
Creating table books_author 
Creating table books_book_authors 
Creating table books_book 

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.postgresql_psycopg2', 
     'NAME': 'books', 
     'USER': 'postgres', 
     'PASSWORD': '******', 
     'HOST': 'localhost', 
     'PORT': '5432', 
    } 
} 

syncdb 실행됩니다.

+0

가능한 중복 ~/.bash_profile

this question에서 봐 가지고 당신에 줄을 추가 project-using-sqlite3-with-python-2-7 –

+0

예, 이전에 방대한 검색을 했음에도 불구하고 중복되어서 찾을 수 없습니다. 지적 해 주셔서 고마워요. – user1572215

+0

일반적으로 스택 추적의 마지막 줄을 google (따옴표로 묶음)에 복사하는 것이 좋습니다. –

답변

2

나는 당신이 필요하다고 생각 : http://patrick.arminio.info/blog/2012/02/fix-valueerror-unknown-locale-utf8/

DRTL가 : 당신의 ~/.bash_profile 파일에 다음 줄을 추가

export LANG="en_US.UTF-8" 
export LC_COLLATE="en_US.UTF-8" 
export LC_CTYPE="en_US.UTF-8" 
export LC_MESSAGES="en_US.UTF-8" 
export LC_MONETARY="en_US.UTF-8" 
export LC_NUMERIC="en_US.UTF-8" 
export LC_TIME="en_US.UTF-8" 
export LC_ALL="en_US.UTF-8" 

그것은 OSX 버그. 자세한 내용은 여기를 참조하십시오. https://code.djangoproject.com/ticket/5846

+0

답장을 보내 주셔서 감사합니다. 그것을 확인할 것입니다. – user1572215

2

시스템에 올바른 지역 정보가 설치되어 있지 않은 것으로 보입니다.

export LC_CTYPE=en_US.UTF-8 
export LC_ALL=en_US.UTF-8 

를 (또는 현지 무엇이든해야한다) -

는 syncdb를 실행하기 전에 다음을 입력하려고. http://stackoverflow.com/questions/10891255/adding-a-database-to-the-django- -

또는

관련 문제