首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >服务器不遵循TEMPLATE_DIRS路径

服务器不遵循TEMPLATE_DIRS路径
EN

Stack Overflow用户
提问于 2014-02-17 11:09:28
回答 2查看 57关注 0票数 0

TEMPLATE_DIRS中的“模板”文件夹的路径如下所示:

os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir)) + '/static/templates/'

当我在本地运行服务器并打开页面时,一切正常,并且它检测到~/Documents/projects/clupus/static/templates上的模板。每当我将所有内容都拖到服务器上并访问URL时,它就会给出以下错误:

Django尝试按以下顺序加载这些模板:使用加载程序django.template.loaders.filesystem.Loader: django.template.loaders.filesystem.Loader(文件不存在)

它没有跟随TEMPLATE_DIRS,而是在错误的目录中查找。我已经检查了服务器上的TEMPLATE_DIRS值,它与本地拥有的值相匹配。有什么问题吗?

编辑

令人尴尬的是,我的代码没有什么问题,我只是忘了通过执行sudo service apache2 restart重新启动apache。至于为什么我的模板文件夹是静态的,这是应前端开发人员的要求。当我问他为什么说:

他们在里面的原因是因为我试图引用Javascript中的模板,因为我们在服务器和客户端之间使用共享模板

EN

回答 2

Stack Overflow用户

发布于 2014-02-17 11:34:54

首先:静态和模板是两个非常独立的“事物”,不应该有任何共同之处--这意味着“模板”目录应该在“静态”目录旁边,而不是在“静态”目录内。

默认情况下,Django在两个位置查找模板文件:

  • TEMPLATE_DIRS中指定的目录/目录
  • 每个安装的应用程序中的templates目录(INSTALLED_APPS中的app )

对于第一种情况,您的设置似乎是有效的,所以可能是一些简单的错误:

  • TEMPLATE_DIRS仍然是元组吗?TEMPLATE_DIRS =( os.path.blah.blah, ),逗号是必需的。
  • 当您的templates目录位于您的static目录中时,我没有看到会造成问题的确切机制,但是您肯定应该将它移出该目录。
  • 确保TEMPLATE_LOADERS设置其默认值
票数 1
EN

Stack Overflow用户

发布于 2014-02-17 11:29:39

静态url应该指向staticfiles目录。为什么要将模板放在静态文件下呢?您可以将其作为主文件夹中的独立文件夹(与manage.py一起使用)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21827432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档