我在Python中使用Google App Engine的Django模板版本.
在模板中放置循环与将其放入python页面处理程序之间是否存在重大的性能差异?
例如,我正在比较这样的事情:
{% for i in items %}
{{i.text}}
{% endfor %}
在我的python代码中是这样的:
def returnHtml(items):
item_array = []
for i in items:
item_array.append("
%s
" % (i.id, i.text)
return "".join(item_array)
…然后直接插入标签中的django模板,如:
{{ item_html }}
这是一个简单的例子,实际上,我在循环内部有更复杂的循环等.我喜欢将逻辑放在python代码中,因为它更容易维护.但我担心对性能的影响.
有什么想法吗?谢谢.
解决方法:
代码的可读性和可维护性的损失可能超过您将获得的任何性能提升.你可以找到many benchmarks的Python模板引擎.所有流行的模板引擎都可以接受.
如果您不喜欢django模板中的缺点,请使用更好的东西.我个人使用(并强烈推荐)Mako,我认识其他几个喜欢Jinja2的人.
标签:python,django,google-app-engine