1

我想将 Mustache 集成到我的 Django 应用程序中。我需要采取哪些步骤才能用 Mustache 完全替换 Django 的模板系统?

我想让 render_to_response 与 Mustache 模板一起正常工作,并通过上下文(STATIC_URL、请求等)传递所有正确的变量。

4

1 回答 1

6

基本上,您必须render_to_response用您自己的实现替换该函数,该实现使用您选择的模板系统。Djangorender_to_response特定于 Django 的模板系统。这个函数简单地包装了一些在使用 django 模板引擎时使用的常见的 grunt-work。Django 的教程中介绍了它们如何工作的基础知识。

使用django.template.RequestContext获取TEMPLATE_CONTEXT_PROCESSORS设置中指定的所有上下文变量(其中定义了 STATIC_URL、请求等)。由于RequestContext其行为类似于字典,因此您应该能够毫无问题地将其传递给 mustache。RequestContext在其构造函数中获取请求对象。

最后,不要忘记返回正确的HttpResponse对象!

因为我不是一个段落迷:

  1. 创建 RequestContext 实例。
  2. 将收到的字典与 RequestContext 实例合并。
  3. 将模板呈现为字符串。
  4. 用 HttpResponse 实例包装最终字符串。
于 2012-04-09T20:21:12.023 回答