我(慢慢地!)正在通过Django教程,我已经到了Part 2的位置,我应该设置template_dir。我在Mac(工作中),我的用户配置文件驻留在服务器上,我无法弄清楚如何设置路径。
教程文件位于名为“tutorialshell”的文件夹中,位于名为“Django”的文件夹中,这是我的用户文件夹“mattshepherd”中的第一级文件。例如,当我启动终端时,该文件夹是本机文件夹:它总是在“mattshepherd”中启动我。
我试过
"~/Django/tutorialshell/templates"
和
"home/Django/tutorialshell/templates"
到目前为止没有运气。我想有一些技巧可以做到这一点,因为我试图链接到的文件位于我的用户文件夹中的网络驱动器上,而不是我本地的硬盘驱动器上。建议吗?
答案 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时,可以通过将“//”替换为“/”来使代码更加灵活。