我注意到在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.
)
答案 0 :(得分:1)
如有疑问......请查看文档。根据{{3}},
◾最简单的方法是使用绝对路径(即从文件系统的根开始的目录路径)。但是,如果你想要更灵活和解耦,你可以通过动态构造TEMPLATE_DIRS的内容来利用Django设置文件只是Python代码这一事实。
因此,为了确保可移植性同时确保使用绝对路径,您可以动态生成路径,以避免走在硬编码路径的可怕道路上。正如@karthikr在他的评论中所说,你可以做类似的事情,
TEMPLATE_PATH = os.path.join(PROJECT_PATH, 'templates')
TEMPLATE_DIRS = (
TEMPLATE_PATH,
)
其中'templates'
是项目中包含各种html模板的目录。