如何在Django中更改模板框架?

时间:2012-04-09 18:09:08

标签: python django django-templates template-engine mustache

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

我希望render_to_response能够与Mustache模板一起正常工作,并使用上下文传递所有正确的变量(STATIC_URL,请求等)。

1 个答案:

答案 0 :(得分:6)

基本上,您必须将render_to_response函数替换为您自己的实现,该实现使用您选择的模板系统。 Django的render_to_response特定于Django的模板系统。这个函数简单地包含了使用django模板引擎时使用的一些常见的grunt-work。 Django's tutorial中介绍了有关其工作原理的基础知识。

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

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

因为我不喜欢段落粉丝:

  1. 创建RequestContext实例。
  2. 使用RequestContext实例合并字典。
  3. 将模板渲染为字符串。
  4. 使用HttpResponse实例包装最终字符串。