使用ajax更新django模板中局部内容的方法

有的时候咱们须要ajax中更新比较多的HTML内容,假如这些内容使用js进行拼接的话,将会很是痛苦。
我找到了两个方案
1.经过JsRender的方式
2.后端渲染这些局部的模板内容,发送到前端,前端更新前端html
 html

这里我使用的方法2.前端

具体操做以下:ajax

1.模板中须要更新的局部内容,单独抽离出一个html.例如:fragment.htmldjango

2.在py的view中,组织fragment.html所需展示的数据,使用使用 render_to_string 轻松地将须要渲染的fragment.html渲染成一个字符串。json

from django.template.loader import render_to_string

html = render_to_string('fragment.html', {'data': data_json})
result = {'status': 1, 'msg': '','html': html}
return self.render_json_response(result)

3.将此字符串发送到客户端后端

4.客户端ajax中收到数据返回,使用以下方法将view端生成的html字符串插入到页面中code

$('#fragment').html(arg.html)
相关文章
相关标签/搜索