Django:os.path.join(...)命令后的BASE_DIR不正确

时间:2018-11-02 15:55:50

标签: django python-3.x path settings environment

我在Django中得到以下行为:

当我在其上使用“ os.path.join(...)”命令时,

BASE_DIR似乎发生了变化。

我的settings.py文件:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))

在Python Shell中:

>>> import os
>>> from django.conf import settings

>>> base_dir = settings.BASE_DIR
***'C:\\Users\\gille\\timeless_wisdom'***

>>> file_path = os.path.join(base_dir, '/timeless_wisdom/UserData')
***'C:/timeless_wisdom/UserData'***

所以:当我使用BASE_DIR加入相对路径时,我没有得到预期的结果,但是他再次从C:/开始...

我尝试了以下方法,但结果相同。

file_path = os.path.join(base_dir, '\\timeless_wisdom\\UserData')

我尝试使用PROJECT_ROOT代替BASE_DIR,但结果相同。

我想念什么吗?谢谢...

1 个答案:

答案 0 :(得分:0)

路径上不应有任何前导斜线。

file_path = os.path.join(base_dir, 'timeless_wisdom/UserData')