Где находится файл базы данных sqlite, созданный Django? - PullRequest
18 голосов
/ 15 сентября 2011

У меня установлен python, и sqlite включен в него ... но где путь к файлу sqlite db, который был создан с manage.py syncdb? Я на маке.

Ответы [ 3 ]

23 голосов
/ 15 сентября 2011

В файле 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': '',
    }
}

Вы можете легко получить это значениеиспользуя доступную оболочку Django с помощью команды python manage.py 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'
0 голосов
/ 24 июня 2016

если настройки недоступны, это может быть встроено в ваш packageName / base Directory:

try:

import packageName import os.path.abspath

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

NameError Traceback (последний последний вызов) в () ----> 1 os.path.abspath (settings.DATABASES ['default'] ['NAME'])

NameError: имя 'settings' не определено

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

'/ Пользователи / brandizzi / Документы / Программное обеспечение / Netunong / database.db'

0 голосов
/ 15 сентября 2011

Вы создаете свой собственный файл базы данных в вашем приложении с SQLite. Это магия SQLite.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...