【发布时间】:2012-06-11 01:43:57
【问题描述】:
我有一个模板,其中包含很多嵌套在 for 循环中。我们将页面的不同部分拆分为单独的模板文件,因为我们通过以不同方式将它们拼凑在一起以用于不同的视图,从而重用它们。
例如: {% for user in users %} {% 包括“userDetail.html”%} {% endfor %}
我们的数据库中有大约 40k 条记录。我已经将问题定位到模板系统。 render_to_response 运行大约需要 11 秒。我想也许 Django 没有缓存模板,所以可能是 I/O 问题。
我扁平化了我们的一个模板,因此根本没有包含,并缩短了大约 5 秒。但这在我们重用大量模板代码的情况下并不是很有帮助。
有人知道这个问题的解决方案吗?或者有没有人有任何其他想法为什么 render_to_response 会花这么长时间?
[edit] 我应该提到我启用了 Django 的缓存模板加载器,它只节省了大约 1 秒。展平模板明显更快。
【问题讨论】:
-
在 Python 代码而不是模板中进行循环。应该会快一点。