Django 数据库路径:没有不受支持的操作数类型
django database path : no unsupported opperand type
在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' and 'str'。
为什么错误没有出现在 django 中?
我想在子文件夹中为我的数据库定义一个不同的路径,以便 django 自动创建子文件夹和 sqlite 数据库...我该怎么做?
谢谢
But when i do in python a={'a':'a'/'b'}
, I get the error TypeError: unsupported operand type(s) for /: 'str' and 'str'
. How come the error doesnt show up in django?
因为BASE_DIR
不是str
ing,而是Path
object [Python-doc]。对于这个对象,已经定义了__div__
方法,因此它使用some_path / 'foo.sqlite3'
将左侧的路径与右侧的字符串连接起来。的确,例如:
>>> Path('/etc') / 'foo' / 'bar.data'
PosixPath('/etc/foo/bar.data')
I would like to define a different path for my database, in a subfolder so as django automatically create the subfolder and the sqlite database...how can i do that?
您可以指定不同的路径,例如:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': <strong>BASE_DIR / 'subdir' / 'db.sqlite3'</strong>,
}
}
在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' and 'str'。
为什么错误没有出现在 django 中?
我想在子文件夹中为我的数据库定义一个不同的路径,以便 django 自动创建子文件夹和 sqlite 数据库...我该怎么做?
谢谢
But when i do in python
a={'a':'a'/'b'}
, I get the errorTypeError: unsupported operand type(s) for /: 'str' and 'str'
. How come the error doesnt show up in django?
因为BASE_DIR
不是str
ing,而是Path
object [Python-doc]。对于这个对象,已经定义了__div__
方法,因此它使用some_path / 'foo.sqlite3'
将左侧的路径与右侧的字符串连接起来。的确,例如:
>>> Path('/etc') / 'foo' / 'bar.data'
PosixPath('/etc/foo/bar.data')
I would like to define a different path for my database, in a subfolder so as django automatically create the subfolder and the sqlite database...how can i do that?
您可以指定不同的路径,例如:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': <strong>BASE_DIR / 'subdir' / 'db.sqlite3'</strong>,
}
}