Django创建的sqlite数据库文件在哪里?

时间:2011-09-15 12:51:10

标签: python django macos sqlite

我已经安装了python并且包含了sqlite ...但是使用manage.py syncdb创建的sqlite db文件路径在哪里?我在Mac上。

3 个答案:

答案 0 :(得分:23)

settings.py文件中,有一个名为DATABASES的变量。它是一个字典,它的一个键是default,它映射到另一个字典。该子句有一个键NAME,它具有SQLite数据库的路径。

这是我的一个项目的例子:

CURRENT_DIR= '/Users/brandizzi/Documents/software/netunong'
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': CURRENT_DIR+ '/database.db', # <- The path
        'USER': '',
        'PASSWORD': '',
        'HOST': '',
        'PORT': '',
    }
}

您可以使用运行命令python manage.py shell可访问的Django shell轻松检索此值。只需按照以下步骤操作:

>>> import settings
>>> settings.DATABASES['default']['NAME']
'/Users/brandizzi/Documents/software/netunong/database.db'

如果返回的值是某个相对路径,只需使用os.path.abspath找到绝对路径:

>>> import os.path
>>> os.path.abspath(settings.DATABASES['default']['NAME'])
'/Users/brandizzi/Documents/software/netunong/database.db'

答案 1 :(得分:0)

您可以使用SQLite在应用程序中创建自己的数据库文件。这就是SQLite的神奇之处。

答案 2 :(得分:0)

如果设置不可用,那么这可以嵌入在packageName / base目录中:

尝试:

import packageName import os.path.abspath

在[3]中:os.path.abspath(packageName.DATABASES['default']['NAME'])

NameError Traceback(最近一次调用最后一次)  in() ----&GT; 1 os.path.abspath(settings.DATABASES ['default'] ['NAME'])

  
    
      

NameError:未定义名称“设置”

             

os.path.abspath(packageName.settings.DATABASES['default']['NAME'])

             

'/用户/ brandizzi /文档/软件/ netunong / database.db'