在Python2.7中使用Sqlite3向Django项目添加数据库

在Python2.7中使用Sqlite3向Django项目添加数据库,python,database,django,python-2.7,Python,Database,Django,Python 2.7,我正在尝试使用Sqlite3和Python2.7向Django项目添加一个数据库 这是my setting.py的外观: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 'NAME': 'dev.db', #

我正在尝试使用Sqlite3和Python2.7向Django项目添加一个数据库

这是my 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):
当我输入yes时,它会给我这个错误消息

错误消息:

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", line 232, in execute
    output = self.handle(*args, **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
回溯(最近一次呼叫最后一次):
文件“manage.py”,第10行,在
从命令行(sys.argv)执行命令
文件“/Users/IMAC/work3/env/lib/python2.7/site packages/django/core/management/_init__uuuuuuu.py”,第443行,从命令行执行
utility.execute()
文件“/Users/IMAC/work3/env/lib/python2.7/site packages/django/core/management/_init__.py”,执行中第382行
self.fetch_命令(子命令)。从_argv(self.argv)运行_
文件“/Users/IMAC/work3/env/lib/python2.7/site-packages/django/core/management/base.py”,第196行,运行于
self.execute(*args,**选项._dict__;
文件“/Users/IMAC/work3/env/lib/python2.7/site packages/django/core/management/base.py”,第232行,在execute中
输出=self.handle(*args,**选项)
文件“/Users/IMAC/work3/env/lib/python2.7/site packages/django/core/management/base.py”,第371行,在handle中
返回self.handle\u noargs(**选项)
handle_noargs中的文件“/Users/IMAC/work3/env/lib/python2.7/site packages/django/core/management/commands/syncdb.py”,第110行
发出后同步信号(创建的模型、冗余、交互、db)
文件“/Users/IMAC/work3/env/lib/python2.7/site packages/django/core/management/sql.py”,第189行,在发出后同步信号中
交互式=交互式,db=db)
文件“/Users/IMAC/work3/env/lib/python2.7/site packages/django/dispatch/dispatcher.py”,第172行,在send中
响应=接收方(信号=自身,发送方=发送方,**已命名)
文件“/Users/IMAC/work3/env/lib/python2.7/site packages/django/contrib/auth/management/_init__.py”,第73行,在create_superuser中
调用_命令(“createsuperuser”,interactive=True,database=db)
文件“/Users/IMAC/work3/env/lib/python2.7/site-packages/django/core/management/_-init___.py”,第150行,在call_命令中
返回klass.execute(*args,**默认值)
文件“/Users/IMAC/work3/env/lib/python2.7/site packages/django/core/management/base.py”,第232行,在execute中
输出=self.handle(*args,**选项)
文件“/Users/IMAC/work3/env/lib/python2.7/site packages/django/contrib/auth/management/commands/createsuperuser.py”,第70行,在handle中
默认用户名=获取默认用户名()
文件“/Users/IMAC/work3/env/lib/python2.7/site packages/django/contrib/auth/management/__init___;.py”,第105行,在get_default_username中
默认\用户名=获取\系统\用户名()
文件“/Users/IMAC/work3/env/lib/python2.7/site-packages/django/contrib/auth/management/_-init____;.py”,第85行,在get\u-system\u用户名中
返回getpass.getuser().decode(locale.getdefaultlocale()[1])
getdefaultlocale中的文件“/Users/IMAC/work3/env/lib/python2.7/locale.py”,第496行
返回_parse_localename(localename)
文件“/Users/IMAC/work3/env/lib/python2.7/locale.py”,第428行,在_parse_localename中
提升值错误,“未知区域设置:%s”%localename
ValueError:未知区域设置:UTF-8

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

我最近在windows上遇到过这个问题。这是一个黑客程序,不是修复程序或答案,但它可能会帮助您解决问题:

将其放在manage.py脚本的顶部

import os
os.environ.setdefault('LANG','en_US')

在执行python manage.py syncdb之前键入此命令

export LC_CTYPE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
这将解决错误。。顺便说一句,我使用的是macosxpython,它位于/usr/bin/python中


将其添加到./.bash_配置文件中,以便它自动调用..

so。。。您的问题是“如何在OS X上添加区域设置?”?是因为我运行的是python 2.7吗?