2012-10-04 31 views
1

我似乎無法創建一個超級用戶提示我們手動後提示(如果相關的話,即使用sqlite的數據庫)。當我在提示中選擇「否」時,它會正常進行,但是當我選擇「是」時,會發生什麼情況。無法在Django中創建超級用戶?

Peter-Buddemeyers-MacBook-Pro:mysite Pete$ 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 "/Library/Python/2.6/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line 
    utility.execute() 
    File "/Library/Python/2.6/site-packages/django/core/management/__init__.py", line 382, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 196, in run_from_argv 
    self.execute(*args, **options.__dict__) 
    File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 232, in execute 
    output = self.handle(*args, **options) 
    File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 371, in handle 
    return self.handle_noargs(**options) 
    File "/Library/Python/2.6/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.6/site-packages/django/core/management/sql.py", line 189, in emit_post_sync_signal 
    interactive=interactive, db=db) 
    File "/Library/Python/2.6/site-packages/django/dispatch/dispatcher.py", line 172, in send 
    response = receiver(signal=self, sender=sender, **named) 
    File "/Library/Python/2.6/site-packages/django/contrib/auth/management/__init__.py", line 73, in create_superuser 
    call_command("createsuperuser", interactive=True, database=db) 
    File "/Library/Python/2.6/site-packages/django/core/management/__init__.py", line 150, in call_command 
    return klass.execute(*args, **defaults) 
    File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 232, in execute 
    output = self.handle(*args, **options) 
    File "/Library/Python/2.6/site-packages/django/contrib/auth/management/commands/createsuperuser.py", line 70, in handle 
    default_username = get_default_username() 
    File "/Library/Python/2.6/site-packages/django/contrib/auth/management/__init__.py", line 105, in get_default_username 
    default_username = get_system_username() 
    File "/Library/Python/2.6/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 

有沒有人任何想法?

回答

3

看來系統區域設置沒有正確設置,因此locale.getdefaultlocale()返回(None,None)。查看locale的輸出以檢查是否屬實(詳情請見this document)。最簡單的解決方案是在運行python manage.py syncdb之前執行類似setenv LANG en_US.UTF-8的操作。

+0

謝謝,我發現我遇到了問題,因爲我沒有使用bash作爲我的shell – user1719063

相關問題