客户端与服务器端模板

时间:2012-07-03 19:47:17

标签: django templates django-templates templating

我想知道进行ajax调用以更新用户名列表的最佳选择是什么。我可以

一个。做一个ajax调用并获取用户对象并构建html并将其附加到div

build_html = function(obj) {
    html = 'username - ' + obj.username
    $('#container').append(html);
}

湾做一个ajax调用并让django返回html。

response = render_to_response ('user_item_template.html', {'user' : user})
return response._container

如果响应成功,我将其附加到容器div。

使用方法'b'是否有任何缺点,因为根据情况构建javascript中的html可能会出现诸如非转义字符等问题,而且一般来说它只是一团糟。

由于

2 个答案:

答案 0 :(得分:7)

如果您要求的内容仅用于生成HTML,那么只需返回HTML作为响应即可。无需涉及客户端,您的服务器在这一代中总是会更快,特别是在使用缓存的情况下。

如果您需要来自响应的数据,即稍后您可以反省以在JS中做出决定的内容,那么您需要返回JSON并处理任何HTML客户端的生成。

基本上,如果您可以使用返回的平面HTML,请执行此操作。

答案 1 :(得分:0)

我认为这取决于......在大多数情况下(特别是如果你关心缓慢(呃)连接的移动用户)传输更少的数据比解析JSON和生成HTML客户端所花费的时间更重要

推荐阅读:http://ryanflorence.com/2012/client-v-server-templating/