【问题标题】:How can I change the templating framework in Django?如何更改 Django 中的模板框架?
【发布时间】:2012-04-09 18:09:07
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

    基本上,您必须将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 对象!

    因为我不是一个段落迷:

    1. 创建 RequestContext 实例。
    2. 将收到的字典与 RequestContext 实例合并。
    3. 将模板呈现为字符串。
    4. 用 HttpResponse 实例包装最终字符串。

    【讨论】:

      猜你喜欢
      • 2021-11-23
      • 1970-01-01
      • 2017-10-19
      • 1970-01-01
      • 2013-01-28
      • 2018-10-28
      • 2018-09-22
      • 1970-01-01
      • 2019-09-13
      相关资源
      最近更新 更多