Вывод данных через ajax js в шаблон Django

Я пытаюсь установить спиннер загрузки на страницу, на которой выводятся результаты поиска. Нашел пару вариантов и решил воспроизвести у себя на сайте. Запускаю, но в результате не получаю нужного результата: вместо результатов поиска у меня на странице отображается код, который я вставил в javascript, а должны отображаться результаты. Скрипт подгружается после jquery, так что проблема не в нем точно. Писал по образцу из интернета, у автора все завелось нормально.

Пример скрипта:

console.log('testing loader')

const spinnerBox=document.getElementById('spinner-box')
const dataBox=document.getElementById('data-box')

$.ajax({
    type: 'GET',
    url: '/spectrum_search/',
    success: function(response){
        console.log('testing success')
        setTimeout(()=>{
            spinnerBox.classList.add('not-visible')
            console.log("{{ objects }}")
            dataBox.innerHTML += `
            <div class="m-md-3">
                {% for spec in objects %}
                    {% include "spectra/display/spectrum_card_template.html" %}
                {% endfor %}
            </div>`}, 500)
    },
    error: function(error){
        console.log('testing error')
        setTimeout(()=>{
            spinnerBox.classList.add('not-visible')
            console.log('testing error not-visible')
            dataBox.innerHTML = `
            <div class="fancy-title title-border title-center">
                <h1>Результатов не найдено.</h1>
            </div>`}, 500)
    },
})

Часть views.py:

@csrf_exempt
def spectrum_search(request):
        if request.method == 'POST' and 'keyword_search' in request.POST:
        search_queryes = dict()
        res = []
.
.
.
        return render(request, 'spectra/spectrum_search_result.html',
                          context={'objects': objects, 'search_queryes': search_queryes})

В шаблоне spectra/spectrum_search_result.html, в body вставлен блок кода спиннера и блок кода контента:

<div id="spinner-box" class="postcontent mx-auto col-lg-10 col-md-9">
    <div class="text-center">
      <div class="spinner-border text-primary" role="status">
         <span class="visually-hidden">Загрузка...</span>
      </div>
    </div>
</div>
<div class="postcontent mx-auto col-lg-10 col-md-9">
  <p>
   <strong>Поиск по запросу: </strong>
  {% if search_queryes %}
   {% for key, value in search_queryes.items %}
       <span class="badge bg-primary">{{ key }}: {{ value }}</span>
    {% endfor %}
  {% else %}
     Параметры поиска не заданы
  {% endif %}
 </p>
<!-- display spectra as list -->
<div id="data-box" class="col-md-12"></div>
</div><!-- #posts end -->

скрипт подгружается в base.html шаблоне

В результате после выполнения поиска я вижу на странице сначала спиннер, потом он исчезает и вижу такую строку:

{% for spec in objects %}{% include "spectra/display/spectrum_card_template.html" %}{% endfor %}

И даже при выводе в консоль данных, которые я должен обработать, я получаю объект django в скобках {{objects}} в виде текста. Такое впечатление, что не происходит обработка таких объектов через js.


Ответы (0 шт):