静态目录中的Django模板?

时间:2015-06-12 12:06:14

标签: django static-files

将django模板放在我的静态目录中是一个好习惯吗?

collectstatic 无论如何都会复制静态目录中的所有模板文件。为什么不直接将静态文件放在静态目录中?

2 个答案:

答案 0 :(得分:6)

不,完全没有。

模板不是静态文件。 collectstatic 将模板文件复制到静态目录中。没有理由把它们放在那里。

答案 1 :(得分:6)

  

将我的django模板放在静态中是一种好习惯   ?目录

嗯,通常不行,因为它使得它们可以从外部调用(通过直接访问http://example.com/static/templates/base.html)并且可以通过暴露模板标记和上下文变量来揭示一些内部数据结构。但是,有时这用于为HTML5应用程序上下文中的Javascript框架提供模板。

在该HTML5应用上下文中公开的模板不会使用任何Django的模板层,对于这样的用例,它可以说是完全分离前端和后端的更好解决方案。但是用例和实现在该领域有所不同。

  

collectstatic将复制静态中的所有模板文件   目录无论如何。为什么不将静态文件放在静态目录中   直接?

不,只有将它们存储在应用程序的static目录下才会发生这种情况,这是一种错误的习惯(如果不是专门选择将模板公开给Javascript应用程序的话)。如果您将它们存储在templates/myapp,则不会被复制。此外,它不会开箱即用,因为Django默认情况下不会查看STATIC_ROOT模板。