我正在使用Django 1.5和Python 2.7。我的项目目录是通常的:
有一个名为projectFolder的项目文件夹。在projectFolder中,还有另外两个文件夹:projFolder和projApp。
在projFolder里面是我的settings.py, init .py和urls.py.
在projApp里面是我的models.py,views.py和我的静态文件夹,它保存着我的模板。现在,在我的settings.py文件中,我有以下内容:
SITE_MEDIA_ROOT = os.path.join(
os.path.dirname(__file__), 'projApp/', 'static/', 'site_media'
)
上面的代码行完全正常,这就是我在我关注的教程中读到的内容。但是,不应该是
SITE_MEDIA_ROOT = os.path.join(
os.path.dirname(__file__), '../', 'projApp/', 'static/', 'site_media'
)
?根据我的理解,
os.path.dirname(__file__)
是当前文件所在目录的路径,对吗?因为settings.py在projFolder中,所以这将是projFolder。所以我不应该先退出当前目录,然后进入projApp文件夹才能进入静态文件夹?不行
os.path.dirname(__file__), 'projApp/', 'static/', 'site_media'
意味着Django应该搜索
projectFolder/projFolder/projApp/static
?如果是,那么如何在不先退出当前settings.py目录的情况下找到静态?
答案 0 :(得分:0)
是的,它应该:)至少是我的项目如何拥有它,除了..
而不是BASE_DIR = os.path.dirname(os.path.dirname(__file__))
:
print os.path.dirname(__file__)
我认为默认情况下它现在出现在setings.py中。
您是否10000%确定settings.py是您所说的位置?
也许尝试在settings.py中添加一些print语句并运行测试服务器,以查看这些路径的实际值
{{1}}