使用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)
相關文章
相關標籤/搜索