# index.html <ul> <li>192.168.1.22 [Status: <span class="address" id="ip_192_168_1_22">Unknown</span> ]</li> <li>192.168.0.2 [Status: <span class="address" id="ip_192_168_0_2">Unknown</span> ]</li> <li>192.168.0.3 [Status: <span class="address" id="ip_192_168_0_3">Unknown</span> ]</li> </ul> <script type="text/javascript"> var items; function updateStatus(index) { if (index == items.size()) {return;} var item = items.eq(index); var attrId = item.attr("id"); var address = attrId.replace('ip_', ''); address = address.replace(/_/g, '.'); $.get('/ping/' + address, function(response) { item.html(response); $("ul").trigger('updated', [index]); }); } $(document).ready(function() { items = $(".address"); $("ul").bind('updated', function(event, index) { updateStatus(index + 1); }); updateStatus(0); }); </script> # urls.py url(r'^ping/(?P<address>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/$', ping), # views.py def ping(request, address=None): if os.system('ping -c3 -q ' + address): msg = "Ping OK" else: msg = "No response" return HttpResponse(msg) Inspiration : http://www.grenadepod.com/2009/11/13/query-data-from-django-site-with-jquery/