2

我在服务器端使用 django,显然在客户端使用 javascript。现在我想在客户端使用板块模板引擎

向客户端提供 django 模板的最佳方式是什么?我们教了一些方法来做到这一点。

  1. 创建一个提供原始模板的视图。
    • 可能不是最好的方法
  2. 将所需的模板复制到静态文件夹。
    • 这可以通过自定义静态文件查找器来完成
    • broser 能够缓存模板
  3. 使用将原始模板放入 javascript 变量的模板标签提供模板。
    • 以这种方式收到的模板不能单独缓存

有一个 django 应用程序可以让这更容易吗?

我需要客户端上的模板的原因是,我想在服务器和客户端上使用相同的客户端。首次加载页面时,会在服务器上呈现完整的模板,在通过应用程序导航时,仅加载所需的数据,并使用推送状态完成页面更改。

4

1 回答 1

2

如果您需要能够拥有 A) 动态生成的板模板,或 B) 动态创建的板模板(例如,通过管理员输入数据库等),您将希望使用 1(不是一件坏事- django 是为提供文本内容而设计的,所以只要您需要以动态方式拥有它,就没有问题)。3 是一个不好的选择,因为这意味着浏览器无法缓存静态资源(如果它输出到每个页面中)......当然,除非您需要为每个页面使用不同的板模板。

如果您不需要上面的 A 或 B,我只需将模板粘贴在您的静态目录中,正如您所提到的(例如,collectstatic或者只是将它们添加到您的存储库中,如果它们是您的应用程序的一部分)。

关于使这变得简单的应用程序-您可以查看 Django Chunks(将静态块输出到页面中的某个位置,例如 `{% chunk "header-snippet" %}),但我认为您不需要那个。

于 2012-12-07T21:28:28.507 回答