【问题标题】:Django template in static directory?静态目录中的Django模板?
【发布时间】:2015-08-28 10:35:06
【问题描述】:

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

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

【问题讨论】:

    标签: django static-files


    【解决方案1】:

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

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

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

    collectstatic 会将我所有的模板文件复制到静态 反正目录。为什么不将静态文件放在静态目录中 直接?

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

    【讨论】:

    • 很详细也很有用
    【解决方案2】:

    不,一点也不。

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

    【讨论】:

      猜你喜欢
      • 2012-06-05
      • 2014-05-23
      • 2011-12-18
      • 2015-02-05
      • 2013-01-10
      • 2021-09-09
      • 2013-06-18
      • 1970-01-01
      • 2013-01-23
      相关资源
      最近更新 更多