我想将 Mustache 集成到我的 Django 应用程序中。我需要采取哪些步骤才能将 Django 的模板系统完全替换为 Mustache?
我想让 render_to_response 与 Mustache 模板一起正常工作,将所有正确的变量与上下文(STATIC_URL、请求等)一起传递。
请您参考如下方法:
基本上,您必须将 render_to_response 函数替换为您自己的实现,该实现使用您选择的模板系统。 Django 的 render_to_response 特定于 Django 的模板系统。这个函数简单地包装了一些在使用 django 模板引擎时使用的常见的 grunt-work。 Django's tutorial 中介绍了有关它们如何工作的基础知识.
使用 django.template.RequestContext 获取在 TEMPLATE_CONTEXT_PROCESSORS 设置中指定的所有上下文变量(其中定义了 STATIC_URL、请求等)。由于 RequestContext 的行为类似于字典,因此您应该能够毫无问题地将它传递给 mustache。 RequestContext 在其构造函数中获取请求对象。
最后,不要忘记返回正确的 HttpResponse对象!
因为我不太喜欢段落:
- 创建 RequestContext 实例。
- 将收到的字典与 RequestContext 实例合并。
- 将模板呈现为字符串。
- 用 HttpResponse 实例包装最后的字符串。
