Используйте jQuery для отображения сообщения в ожидании представления, чтобы вернуть результат.
Поместите скрытый тег div на страницу, содержащую сообщение / изображение обработки.
Если вы отправляете запрос GET, нажимая кнопку, вы помещаете на кнопку событие onclick, чтобы отобразить тег div.Когда представление будет обработано, страница будет перезагружена и будет отображена целевая страница.
Если представление вызывается с помощью AJAX, вы можете поместить показ / скрытие div в события ajaxStart и ajaxComplete.
РЕДАКТИРОВАТЬ: ОК, поскольку страница будет вызываться третьей стороной, это немного усложнит ситуацию.Я бы посоветовал вам загрузить страницу без данных, и после загрузки страницы вы выполняете запрос AJAX GET для извлечения данных.
Вы можете сделать следующее:
Добавить скрытый div-Tag на страницу с сообщением / изображением хода выполнения.
<div id="progress">Please wait while the page is loading.</div>
Затем добавьте вызов GET ajax на страницу:
$(document).ready(function () {
//Attach the ajaxStart and ajaxComplete event to the div
$('#progress').ajaxStart(function() {
$(this).show();
});
$('#progress').ajaxComplete(function() {
$(this).hide();
});
//Perform the AJAX get
$.get('/your_view/', function(data) {
//Do whatever you want with the data here
});
});
Приведенный выше код не был проверен, но он будетдать вам представление.
ОБНОВЛЕНИЕ
Я бы посоветовал вам вернуть объект JSON или аналогичный с вашей точки зрения:
companies = Company.objects.filter(name__istartswith=companyname)
results = [{'value': company.name, 'id':company.id} for company in companies ]
json = simplejson.dumps(results)
return HttpResponse(json, mimetype='application/json')
Вы можететакже используйте метод getJSON () вместо get () в jQuery.