客户端与服务器端模板

mir*_*gai 0 django templates templating django-templates

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

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

build_html = function(obj) {
    html = 'username - ' + obj.username
    $('#container').append(html);
}
Run Code Online (Sandbox Code Playgroud)

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

response = render_to_response ('user_item_template.html', {'user' : user})
return response._container
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢

Chr*_*att 7

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

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

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