我已经安装了python并且包含了sqlite ...但是使用manage.py syncdb
创建的sqlite db文件路径在哪里?我在Mac上。
答案 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
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'