Как сделать ajax-запрос jquery для получения данных из Django ListView?

У меня есть базовый шаблон, в котором есть заголовок и в этом заголовке есть несколько кнопок-ссылок, которые я хотел бы изменить при нажатии, для этого необходимо использовать ajax, чтобы избежать перезагрузки страницы. Запрос должен быть GET для отображения обновленных данных страницы.

То есть, скрипт ajax должен быть выполнен в моем base.html в событии нажатия кнопки, чтобы загрузить шаблон, расширяющий базу. Правильно?

Вид:

class HomeListView(ListView):
    model = Cars
    template_name = 'cars.html'
    context_object_name = 'cars'

    def get_queryset(self):
        cars = super().get_queryset().order_by('model')
        return cars

Данные в шаблоне cars.html (который расширяет base.html) обрабатываются таким образом:

<div class="car-grid">
    {% if cars %}
        {% for car in cars %}
        <div class="car-card">
            <img src="{{ car.photo.url }}" alt="{{ car.model }} - {{ car.brand }}">
            <h2> {{ car.brand }} {{ car.model }} </h2>
            <p> {{ car.factory_year }} - $ {{ car.value }} </p>
        </div>
        {% endfor %}
    {% else %}
        <p class="no-results">No results found. </p>
    {% endif %}
</div>

Каким образом лучше всего сделать этот ajax-запрос, чтобы получить обновленную контекстную переменную cars? Есть ли способ передать ее сразу во все html в cars.html?

Вернуться на верх