客户端上的Django模板呈现

客户端上的Django模板呈现,django,django-templates,Django,Django Templates,我有一个搜索结果页面的模板,通常如下所示: {% for result in results %} // single result template {% endfor %} 据我所知,当用户从浏览器请求此页面时,模板在服务器端呈现,然后html传输给用户。在我看来,通过只发送带有值的JSON并在客户端获取最终html,可以减少通信量。利润来自于没有为每个模板发送相同的html核心 这有意义吗?这样的优化有什么共同的解决方案吗?非常感谢。是的,有,但不是Django股票的一部分。像和这样

我有一个搜索结果页面的模板,通常如下所示:

{% for result in results %}
  // single result template
{% endfor %}
据我所知,当用户从浏览器请求此页面时,模板在服务器端呈现,然后html传输给用户。在我看来,通过只发送带有值的JSON并在客户端获取最终html,可以减少通信量。利润来自于没有为每个模板发送相同的html核心


这有意义吗?这样的优化有什么共同的解决方案吗?非常感谢。

是的,有,但不是Django股票的一部分。像和这样的框架可以在JavaScript中实现这一点。这两个都是运行客户端的完整模型-视图-控制器框架。最终,服务器端可以简化为将json传输到客户端的REST接口

这是一个极端的例子,我相信Ember.js可以很容易地与您的站点的一小部分集成,这可能就是您希望使用django的地方

如果django使用的是缓存中间件,那么对于大多数站点来说,它的效率应该不会太低,因为缓存只会在数据更改时更新,尽管生成动态搜索结果就是一个很好的例子

django模板系统非常高效。与大多数web框架一样,在大多数情况下,在服务器上执行搜索时,服务请求所花费的大部分时间将用于查询数据库,特别是在使用纯文本搜索的情况下。因此,在大多数情况下,优化以模板呈现形式服务请求的最后一步可能不值得优化

尽管如此,许多网站确实执行客户端渲染,这是当前框架开发的一个活跃领域