当前位置: 首页 > 面试题库 >

使用带有Python 2.7的Sqlite3将数据库添加到Django项目

劳和雅
2023-03-14
问题内容

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

这是我的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):

当我键入是时,它给了我这个错误消息。

错误消息:

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

我该如何解决以上错误?为什么不允许我添加超级用户?我该怎么办?因为我正在运行Python 2.7,所以可能出现此问题吗?


问题答案:

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

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

这将解决错误。.顺便说一句,我使用的是/ usr / bin / python中的mac os x python。

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



 类似资料:
  • 我在生产中有一个基于Hibernate的应用程序,有一个大型数据库。我需要在这个应用程序中向两个实体(两个表)添加审计,我决定使用Envers。 对于每次插入、更新或删除,Envers都会向实体的审核表中添加一条新记录。 如果从应用程序一开始就支持Envers,那么审计表将在实体创建(INSERT)时填充。 Envers留档非常薄,没有提到任何关于将Envers添加到现有应用程序的内容。 如果我简

  • 我想补充一点 我正在添加新的消息,下面的代码是我从Firebase文档中学到的。 我的模型是: } 和firebase侦听器 RecyclerView适配器: 很抱歉读了这么长的帖子,谢谢你抽出时间。

  • 我是< code>sqlite数据库的新手,在我的项目中,我需要在创建数据库后添加数据。我尝试了这种方式,这是我的代码。 公共类主要活动扩展活动 { } 我创建了另一个类来打开sqlite数据库。 公共类MySqlHelper扩展SQLiteOpenHelper{ 公共字符串getBird(int id){ 它给我异常 帮助我避免这种情况,并在创建数据库后立即插入数据。

  • 问题内容: 我想在我的android项目中尝试这个库。我正在使用 Android Studio 0.4.6 。 该 README.markdown 文件告诉我要插入这里面 的pom.xml : 问题是 我没有任何pom.xml 。我在项目根目录中创建了一个,并同步了gradle设置,但是它什么也没做。直到现在,我只使用已经编译的.jar文件或使用gradle编译功能。 如何在项目中使用该库? 问题

  • 问题内容: 我正在使用带有固定数据库内容的sqlite3数据库的Django应用程序。固定是指数据库的内容不会随时间变化。该模型是这样的: 该表中大约有6500条记录。给定一个可能缺少某些单词或某些单词拼写错误的文本,我需要确定其和。例如,如果db中有一个文本为 “ This is an example verse” 的字段, 则 给定的文本(例如 “ This a egsample verse”

  • 本文向大家介绍如何使用Python将数据存储和检索到Sqlite3数据库中?,包括了如何使用Python将数据存储和检索到Sqlite3数据库中?的使用技巧和注意事项,需要的朋友参考一下 您可以使用sqlite3模块轻松地将日期存储和检索到Sqlite3数据库中。在数据库中插入日期时,直接传递日期,Python会自动处理它。 示例 输出结果 这将给出输出- 现在,当您从数据库中获取值时,您将获得已

  • 问题内容: 有人可以告诉我如何在最新版本的Python上安装sqlite3模块吗?我正在使用Macbook,并在命令行上尝试了: 但是会弹出一个错误。 问题答案: 您不需要安装模块。它包含在标准库中(自Python 2.5起)。

  • 本文向大家介绍Django 添加数据库路由文件,包括了Django 添加数据库路由文件的使用技巧和注意事项,需要的朋友参考一下 示例 要在Django中使用多个数据库,只需在中指定每个数据库settings.py: 使用dbrouters.py文件来指定对于每种数据库操作类,哪些模型应在哪些数据库上进行操作,例如,对于存储在中的远程数据remote_data,您可能需要以下内容: 最后,将您添加d