Как я могу сделать JavaScript ajax вызов при загрузке страницы и получить данные из представлений в Django

Я хочу передавать данные localStorage в представления Django и отображать возвращаемую запись в шаблоне страницы при ее загрузке.

Я думаю, что это можно сделать с помощью Ajax, но у меня нет идеи, как я могу передать определенную переменную localStorage в Django views на определенной загрузке страницы и отобразить запись на шаблоне как обычный шаблонизатор (не ajax html return)

Например: Если я загружаю URL abcd.com/test, я хочу передать массив идентификаторов или что-то типа Variable, и вернуть представления в шаблоне в соответствии с переданными значениями.

Есть ли лучший способ достичь этого?

Я пробовал этот способ, но безуспешно: Javascript:

<script>

window.onload = function(){
    var compare = localStorage.getItem("comparisionProducts");
    var action_url =$this().window.location.href
  
    if (compare.value !== ''){
      
      $.ajax({
        url: action_url,
        type: "POST",
        data: {'compare_id': compare },
        headers: { "X-CSRFToken": $.cookie("csrftoken") },
        success: function (result) {
            console.log("Success")
            
        },
        error: function () {
            alert("Please login");
        }
        
    });


    }
  };
 <script>

и мои взгляды:

def compare(request):
if request.is_ajax() and request.POST and 'compare_id' in request.POST:
    data = Products.objects.filter(product_id = int(request.POST['compare_id']))
    context={
    'product':product,
    }
    return render (request, './ecommerce/compare.html', context)
Поскольку

поскольку .is_ajax() устарел, вы не можете его использовать, но вы можете проверить, является ли запрос XMLHttpRequest, как показано ниже.

from django.shortcuts import get_object_or_404

def compare(request):
    is_ajax = request.headers.get('X-Requested-With') == 'XMLHttpRequest'
    if is_ajax and request.method == "POST":
        compare_id = request.POST.get('compare_id')
        product = get_object_or_404(Products, product_id=id)
        context={ 'product':product,}
        return render (request, './ecommerce/compare.html', context)

примечание; get_object_or_404 - это просто сокращение для:

try:
    product = Products.objects.get(product_id=id)
except:
    raise Http404
Вернуться на верх