【问题标题】:Django SQlite configurationDjango SQlite 配置
【发布时间】:2017-01-30 21:50:24
【问题描述】:

我刚开始学习 Django。我关于该框架的主要知识来源是 Rudolph Snellius、Jeff Forcier 和 Wesley Chun 所著的《Python Web Development with Django》一书。

你能解释一下如何在 Django 中使用 SQlite 吗?这本书是几年前的,这就是为什么我在配置数据库时遇到了一些问题。

我正确完成的第一步是使用命令./manage.py startapp blog 创建一个应用程序,然后我在setting.py 文件中将mojprojekt 添加到元组INSTALLED_APPS 中。然后我必须将DATABASE_ENGINE = 'sqlite3'DATABASE_NAME = 'path to my project' 的诗句添加到settings.py

最后一步是运行命令./manage.py syncdb。在此之后我收到一个错误:

konrad@konrad-MS-7823:~/Documents/Django/mojprojekt$ ./manage.py syncdb
Traceback (most recent call last):
  File "./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 354, in execute_from_command_line
    utility.execute()
  File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 328, in execute
    django.setup()
  File "/usr/lib/python2.7/dist-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/usr/lib/python2.7/dist-packages/django/apps/registry.py", line 85, in populate
    app_config = AppConfig.create(entry)
  File "/usr/lib/python2.7/dist-packages/django/apps/config.py", line 119, in create
    import_module(entry)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
ImportError: No module named blog
konrad@konrad-MS-7823:~/Documents/Django/mojprojekt$ 

如果你知道我在哪里犯了错误,你能帮助我吗?

更新:这是我的应用程序定义:

    # Application definition

    INSTALLED_APPS = (
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'mojprojekt.blog',

)

这仍然给出相同的结果。

【问题讨论】:

  • INSTALLED_APPS 中的名称应与./manage.py startapp 中的名称相同,因此如果您使用startapp blog,则应该是博客,而不是mojproject
  • 如果它有几年的历史,请不要打扰它。 Django 已经发展了很多。您的应用应该只是“博客”而不是“myproject.blog”

标签: python django sqlite


【解决方案1】:

根据您收到的堆栈跟踪,blog 似乎不在您的设置文件中。检查 INSTALLED_APPS 下的 settings.py 并为 'blog' 添加一个新条目。

关于在最新版本的 Django 中设置数据库,您应该查看 django 设置文档中的this page。据此,目前 DATABASE 设置的样式如下。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': 'mydatabase', # This is where you put the name of the db file. 
                 # If one doesn't exist, it will be created at migration time.
    }
}

【讨论】:

  • 对于 sqlite ENGINE,“NAME”实际上是一个路径,因此您可以将数据库文件放在任何您喜欢的位置。
猜你喜欢
  • 2016-05-08
  • 2011-05-09
  • 2014-01-14
  • 2018-10-20
  • 1970-01-01
  • 2020-06-14
  • 2011-10-12
  • 2013-01-24
  • 2011-01-21
相关资源
最近更新 更多