Where is the sqlite database file created by Django?
In the settings.py
file, there is a variable called DATABASES
. It is a dict, and one of its keys is default
, which maps to another dict. This subdict has a key, NAME
, which has the path of the SQLite database.
This is an example of a project of mine:
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': '', }}
You can easily retrieve this value using the Django shell that is accessible running the command python manage.py shell
. Just follow the steps below:
>>> import settings>>> settings.DATABASES['default']['NAME']'/Users/brandizzi/Documents/software/netunong/database.db'
If the returned value is some relative path, just use os.path.abspath
to find the absolute one:
>>> import os.path>>> os.path.abspath(settings.DATABASES['default']['NAME'])'/Users/brandizzi/Documents/software/netunong/database.db'
if settings not available then this could embedded in your packageName/base Directory:
try:
import packageNameimport os.path.abspath In [3]: os.path.abspath(packageName.DATABASES['default']['NAME'])`---------------------------------------------------------------------------NameError Traceback (most recent call last)<ipython-input-3-ca6dcbd75c6d> in <module>()----> 1 os.path.abspath(settings.DATABASES['default']['NAME'])>>> NameError: name 'settings' is not defined>>> os.path.abspath(packageName.settings.DATABASES['default']['NAME'])`>>> '/Users/brandizzi/Documents/software/netunong/database.db'