I am trying to add a database to the Django Project using Sqlite3 and Python 2.7.
我正在尝试使用Sqlite3和Python 2.7将数据库添加到Django项目。
This is how my setting.py looks like:
这就是我的设置。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.
}
}
It allows me to create the database and it asks me to create the superuser:
它允许我创建数据库,并要求我创建超级用户:
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):
When i type yes, it gives me this error msg.
当我输入yes时,它会给我这个错误msg。
Error 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", 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
How do i solve the error above? Why doesn't it allow me to add a superuser? what should i do? Could this problem because I am running Python 2.7?
如何解决上面的错误?为什么不允许我添加一个超级用户呢?我应该做什么?这个问题会不会因为我运行的是Python 2。7?
2 个解决方案
#1
16
Type this before you execute the python manage.py syncdb
在执行python管理之前,请先输入这个。py syncdb
export LC_CTYPE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
This will solve the error.. Btw i was using mac os x python which was in /usr/bin/python.
这将解决这个错误。顺便说一句,我用的是mac os x python,是/usr/bin/python。
Add it to the ./.bash_profile file so that it calls it automatically..
把它加到。/。bash_profile文件,以便它自动调用它。
#2
0
I actually ran into this on windows recently. This is a hack, not a fix or an answer, but it might get you through your problem:
我最近在windows上碰到过这个。这是一个技巧,不是一个修复或答案,但它可能会帮你解决你的问题:
Put this at the top of your manage.py script
把这个放在你管理的最上面。py脚本
import os
os.environ.setdefault('LANG','en_US')
http://keeyai.com/2012/02/17/django-deployment-create-superuser-fails-with-locale-error/
http://keeyai.com/2012/02/17/django-deployment-create-superuser-fails-with-locale-error/
#1
16
Type this before you execute the python manage.py syncdb
在执行python管理之前,请先输入这个。py syncdb
export LC_CTYPE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
This will solve the error.. Btw i was using mac os x python which was in /usr/bin/python.
这将解决这个错误。顺便说一句,我用的是mac os x python,是/usr/bin/python。
Add it to the ./.bash_profile file so that it calls it automatically..
把它加到。/。bash_profile文件,以便它自动调用它。
#2
0
I actually ran into this on windows recently. This is a hack, not a fix or an answer, but it might get you through your problem:
我最近在windows上碰到过这个。这是一个技巧,不是一个修复或答案,但它可能会帮你解决你的问题:
Put this at the top of your manage.py script
把这个放在你管理的最上面。py脚本
import os
os.environ.setdefault('LANG','en_US')
http://keeyai.com/2012/02/17/django-deployment-create-superuser-fails-with-locale-error/
http://keeyai.com/2012/02/17/django-deployment-create-superuser-fails-with-locale-error/