Django教程路径:Mac网络计算机上的TEMPLATE_PATH目录

时间:2012-05-31 16:58:38

标签: django templates filepath

我(慢慢地!)正在通过Django教程,我已经到了Part 2的位置,我应该设置template_dir。我在Mac(工作中),我的用户配置文件驻留在服务器上,我无法弄清楚如何设置路径。

教程文件位于名为“tutorialshell”的文件夹中,位于名为“Django”的文件夹中,这是我的用户文件夹“mattshepherd”中的第一级文件。例如,当我启动终端时,该文件夹是本机文件夹:它总是在“mattshepherd”中启动我。

我试过

"~/Django/tutorialshell/templates"

"home/Django/tutorialshell/templates"
到目前为止没有运气。我想有一些技巧可以做到这一点,因为我试图链接到的文件位于我的用户文件夹中的网络驱动器上,而不是我本地的硬盘驱动器上。建议吗?

3 个答案:

答案 0 :(得分:3)

你想要绝对的,而不是相对的路径。如果您转到终端中的~/Django/tutorialshell/templates,然后输入pwd,它会告诉您该文件夹的完整路径。这是您应该为路径输入的值。

:我猜你实际上在谈论TEMPLATE_DIRS?如果是这样,请记住它是路径的列表,所以它应该如下所示:

TEMPLATE_DIRS = (
    "/path/to/Django/tutorialshell/templates", # don't forget that trailing comma!
)

答案 1 :(得分:1)

/Users/mattshepherd/Django/tutorialshell/templates

请记住,Jordan提到的模板目录列表。上述位置应该有效。在mac中,用户主目录位于/Users/ + yourusername

可能是/ home / if / Users /不起作用。

答案 2 :(得分:1)

正如其他人所说,你需要绝对的道路。但我真的建议你使用相对路径。它将使您的代码更加灵活。有很多方法可以做到这一点,这就是我通常做的事情:

import os
ROOT = os.path.abspath(os.path.dirname(__file__))

然后为模板做:

os.path.join(ROOT, 'templates')

您说您使用的是Mac,但在使用Windows时,可以通过将“//”替换为“/”来使代码更加灵活。