2011-06-23 37 views
4

Django更有效率:使用模板语言呈现对象?或者推动代码通过使用python语言的templatetag函数来呈现对象?Django模板性能

回答

1

我会说它是差不多的;采取最干净的方式,如果你需要速度,缓存它。

3

这个问题是有点无意义的。模板总是比手动调整的渲染解决方案慢,但模板标签仍然需要通过模板机器运行,所以您会失去任何优势。如果您想要超高效率,请考虑将所有HTML编写为Python字符串数组,将它们连接()一次,然后将HTML作为HTTPResponse对象的主体传回。

或者,你可以尝试所有这三个,并配置他们。由于我们不知道您的代码,因此我们无法为您完成这项工作。经过几次实验后,您应该满意哪种方法对您是正确的。

模板引擎几乎不会是您的瓶颈。你的数据库是你最可能的瓶颈。你确实安装了Django Toolbar,对吗?如果模板引擎不适合您的性能问题,请始终使用最便宜的解决方案来实施。

+1

关于您自己写出HTML的建议,唯一的问题是您必须处理转义任何用户输入,以免打开自己的XSS。 – Sean

3

这就像关于附加字符串的最有效方式的论点(几乎所有的编程语言都有这个参数)。这是2011年,而不是1970年。即使是消费级计算机也拥有处理能力和内存储备以匹配过去十年的超级计算机。网络服务器级机器有更多。这些天在处理器上保存一个或两个周期是非常没有意义的。当您开发OS系统代码或低级系统进程时,这是一回事,但对于解析模板而言,则是在浪费时间。