Путь к базе данных django: нет неподдерживаемого типа опперанда
В файле django settings.py база данных по умолчанию :
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
Но когда я делаю в python a={'a':'a'/'b'}
, я получаю ошибку TypeError: unsupported operand type(s) for /: 'str' и 'str'.
Почему эта ошибка не отображается в django?
Я хотел бы определить другой путь для моей базы данных, в подпапке, чтобы django автоматически создал подпапку и базу данных sqlite... как я могу это сделать?
спасибо
Но когда я делаю в python
a={'a':'a'/'b'}
, я получаю ошибкуTypeError: unsupported operand type(s) for /: 'str' and 'str'
. Почему эта ошибка не появляется в django?Поскольку
BASE_DIR
- это неstr
ing, аPath
объект [Python-doc]. Для этого объекта определен метод__div__
, и он используетsome_path / 'foo.sqlite3'
для соединения пути в левой части с правой строкой. Действительно, например:>>> Path('/etc') / 'foo' / 'bar.data' PosixPath('/etc/foo/bar.data')
Я хотел бы определить другой путь для моей базы данных, в подпапке, чтобы django автоматически создал подпапку и базу данных sqlite... как я могу это сделать?
Вы можете указать другой путь, например, с:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'subdir' / 'db.sqlite3', } }