Визуализация представления Django через запрос ajax - PullRequest
0 голосов
/ 21 декабря 2018

В настоящее время используется ajax для наблюдения за долго выполняющейся задачей в приложении Django.Во время выполнения задачи отображается индикатор выполнения, и после ее завершения я бы хотел, чтобы ajax сделал запрос и загрузил представление с результатами, чтобы отобразить страницу для пользователя, отображающего эти результаты.Как я могу загрузить представление через ajax и jquery из внешнего интерфейса, передавая данные пользователю?

текущее (неработающее) решение: в моем шаблоне:

<script> 

var progressUrl = "{% url 'celery_progress:task_status' task_id %}"; 
document.addEventListener("DOMContentLoaded", function () { 
      CeleryProgressBar.initProgressBar(progressUrl); 
}); 

function customResult(resultElement, result) { 
    $.ajax({ 
        type: 'POST', 
        url: '/show_results/', 
        data:{ 
            results:$('result').val(), 
            'csrfmiddlewaretoken': "{{ csrf_token }}" 
        } 
    }) 
} 

$(function () { 
    CeleryProgressBar.initProgressBar(progressUrl, { 
        onResult: customResult, 
    }) 
}); 

 </script> 

views.py:

def show_results(request, results):
    template = 'fv1/fv.html'
    form = FVForm(request.post)
    if request.method == 'POST':
        results = request.POST.get('results')
        return render(request, templates, context = results)
...