根据您提供的额外信息,我想说只是将数据作为常规 Django 模板提供,您可以根据需要一次调用一个模板。您应该只需要每次 ping 服务器一次next
,而不是每次 5 次。将其作为常规 HTML 提供,并使用 jQuery 将片段直接加载到需要去的地方。不要为此烦恼 JSON,它的工作量很少(如果有的话)。
例子:
#urls
url(r'^record/(?P<record_id>\d+)/$', 'site.views.record', name='record')
#views site/views.py
def record(request, record_id):
obj = Record.objects.get(id=record_id)
return render_to_response('site/record_partial.html', {
'obj': obj
}, context_instance=RequestContext(request))
#templates site/record_partial.html
<div> {{ obj.field1 }} </div>
<div> {{ obj.field2 }} </div>
<div> {{ obj.field3 }} </div>
<div> {{ obj.field4 }} </div>
<div> {{ obj.field5 }} </div>
# Page
<div id='fields'>
</div>
<div id='next' data-page='3'> next >> </div>
<script type='text/javascript'>
var next = $('#next').click(function() {
var page = $(next).data('page');
$('#fields').load('/site/record/' + page + '/', function() {
$(next).data('page', page+1); // incr page number
});
})
</script>