使用Sqlite3与Python 2.7将数据库添加到Django项目中

我正在尝试使用Sqlite3和 Python 2.7将数据库添加到Django Project中.

这是我的setting.py的样子:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',# Add 'postgresql_psycopg2','mysql','sqlite3' or 'oracle'.
        'NAME': 'dev.db',# Or path to database file if using sqlite3.
        'USER': '',# Not used with sqlite3.
        'PASSWORD': '',# Not used with sqlite3.
        'HOST': '',# Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',# Set to empty string for default. Not used with sqlite3.
    }
}

它允许我创建数据库,它要求我创建超级用户:

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):

当我键入是,它给我这个错误msg.

错误msg:

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

我如何解决上述错误?为什么不允许我添加超级用户?我该怎么办?可能这个问题是因为我正在运行Python 2.7?

在执行python manage.py syncdb之前键入此内容
export LC_CTYPE=en_US.UTF-8
export LC_ALL=en_US.UTF-8

这将解决错误.. Btw我正在使用mac os x python这是在/usr/bin/python.

将它添加到./.bash_profile文件中,以便它自动调用它.

相关文章

SQLite架构简单,又有Json计算能力,有时会承担Json文件/RES...
使用Python操作内置数据库SQLite以及MySQL数据库。
破解微信数据库密码,用python导出微信聊天记录
(Unity)SQLite 是一个软件库,实现了自给自足的、无服务器...
安卓开发,利用SQLite实现登陆注册功能