【问题标题】:Can I use XSLT in Django?我可以在 Django 中使用 XSLT 吗?
【发布时间】:2011-12-12 09:47:06
【问题描述】:

我们使用 Django 来编写我们的新项目。我们的设计师想用 XSLT 编写模板。如您所知,Django 有自己的模板系统,我没有任何论据为什么设计师不能使用 XSLT。 2个问题:

  1. 我可以在视图中返回 XML 吗?
  2. 这样做有什么理由吗?哪些事实可以帮助我改变他对 Django 模板系统的看法?

【问题讨论】:

  • 我会说你最好使用 xslt!一个快乐的设计师是一个富有成效的设计师!
  • 您是否在服务器上进行 XML 转换,在这种情况下您不需要从视图返回 XML,或者在客户端上,在这种情况下您可能仍想使用 Django 模板来生成 XML。然后就乱七八糟了……
  • 您最终是否与您的设计师进一步讨论了这一点?他们的推理是什么?结果如何?

标签: xml django xslt django-templates views


【解决方案1】:

1)。是的,为什么不。

import libxslt
import libxml2

from django http import HttpResponse

def your_view(request):
    xsl = libxslt.parseStyleSheetDoc(libxml2.parseFile('stylesheet.xml'))
    data = # your xml here
    result = xsl.applyStylesheet(data)
    response = HttpResponse()
    xsl.saveResultToFile(response, result)
    return response

2)。这可能会征求意见、辩论、争论、投票或扩展讨论。 :-)

【讨论】:

  • 问题是字符串“data = # your xml here”。我想在这里我需要在返回之前生成 xml 格式的数据。 :( 我的源代码中有太多多余的字符串 :(
  • @SkyFox 是的,你需要做这些额外的工作,所以你需要一个使用 XSLT 而不是 Django 模板的理由。 “我们的设计师想要”听起来不是一个很好的理由。
  • 如果你真的需要,你可以使用 django 的模板系统使用 render() 轻松渲染 xml,然后将其传递给 xslt。但是,我非常同意 @DrTyrsa 的观点,即你需要一个更好的理由来做这件事。
  • “我们的设计师想要”是最好的理由。除非你想做设计……
  • @Spacedman 与使用 XML 的现有系统的互操作性是最好的理由。 “我们的设计师想要”介于两者之间,如果它与 API、框架和其他设计工作的方式相悖,这可能是最糟糕的原因......
猜你喜欢
  • 2018-01-11
  • 1970-01-01
  • 1970-01-01
  • 2023-03-10
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 2017-03-20
  • 1970-01-01
相关资源
最近更新 更多