虽然现在模板的性能较之1.8之前有很大提升。但是如果你不太了解模板在django是如何加载的,提升的性能会很容易损失掉,特别是使用不当的多层嵌套tag或都加载了过多的其它模板。
django模板的功能非常强大,基本的模板的继承,包括{
{ block.super }}的使用一定要学会。 建议采用最低限度的来写模板代码。 Django模板的局限性视为优点。 使用这些约束作为灵感来找到简单、优雅的方法将业务逻辑放入Python代码而不是模板中。对模板采取极简主义的方法也使得将Django应用适应不断变化的输出格式变得更加容易。 当模板体积庞大且充满嵌套循环、复杂条件判断和数据处理时,在模板中重用业务逻辑代码变得更加困难,更不用说在无模板视图中使用相同的业务逻辑,如API视图。 由于API和网页通常需要使用不同的格式来显示相同的数据,因此,为了重用代码,重构Django应用程序尤为重要,未来的发展方向是前后端分离。
避免以下几点
模板中的操作,越少越好,一定要瘦模板。把操作尽量往views和models里推。
-
在模板中聚合生成的结果
-
在模板中使用条件过滤
-
在模板中运行复杂的查询
-
在模板中隐藏消耗CPU的操作(处理图片等)
-
在模板中隐藏有REST API调用