为什么Django设置中的绝对路径

时间:2015-02-20 18:04:50

标签: django path settings

我注意到在Django的设置文件中,有一条注释告诉用户使用模板目录的绝对路径。假设它会使使用相对路径更加便携,为什么会这样?

TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
    )

1 个答案:

答案 0 :(得分:1)

如有疑问......请查看文档。根据{{​​3}},

◾最简单的方法是使用绝对路径(即从文件系统的根开始的目录路径)。但是,如果你想要更灵活和解耦,你可以通过动态构造TEMPLATE_DIRS的内容来利用Django设置文件只是Python代码这一事实。

因此,为了确保可移植性同时确保使用绝对路径,您可以动态生成路径,以避免走在硬编码路径的可怕道路上。正如@karthikr在他的评论中所说,你可以做类似的事情,

TEMPLATE_PATH = os.path.join(PROJECT_PATH, 'templates')
TEMPLATE_DIRS = (
    TEMPLATE_PATH,
)

其中'templates'是项目中包含各种html模板的目录。