Получение значения переменной javascript в теге шаблона Django url, но при этом возникает следующая ошибка

В моем приложении django, когда я меняю автомобиль в форме выбора автомобиля, выскакивает эта ошибка: [15/Apr/2024 15:16:49] "GET /unavailable-dates/10/?start_date=2024-01-01&end_date=2024-12-31 HTTP/1.1" 404 2932

urls.py

from django.urls import path
from . import views

urlpatterns = [
    # Other URL patterns
    path('unavailable-dates/<int:car_id>/', views.get_unavailable_dates, name='unavailable_dates'),
]

booking_form.html

<!-- Inline JavaScript -->
    <script>
        $(document).ready(function(){
            $('#id_car').change(function(){  
                var carId = $(this).val();  // Get selected car ID
                
                // Make an AJAX request to fetch unavailable dates for the selected car
                $.ajax({
                    url: '/unavailable-dates/' + carId + '/',  // URL of the get_unavailable_dates view
                    data: {
                        'start_date': '2024-01-01',  // Example start date, replace with actual value
                        'end_date': '2024-12-31'      // Example end date, replace with actual value
                    },
                    success: function(data) {
                        // Handle the response data here
                        console.log("Unavailable dates:", data);
                    },
                    error: function(jqXHR, textStatus, errorThrown) {
                        console.error("AJAX error: " + textStatus + ' : ' + errorThrown);
                    }
                });
            });
        });
    </script>

views.py

def get_unavailable_dates(request, car_id):
    try:
        car = Car.objects.get(id=car_id)
    except Car.DoesNotExist:
        return HttpResponse("Car not found.", status=404)

    start_date_str = request.GET.get('start_date')
    end_date_str = request.GET.get('end_date')

    if not start_date_str or not end_date_str:
        return HttpResponse("Start date and end date must be provided in the request.", status=400)

    try:
        start_date = datetime.strptime(start_date_str, '%Y-%m-%d')
        end_date = datetime.strptime(end_date_str, '%Y-%m-%d')
    except ValueError:
        return HttpResponse("Invalid date format. Dates must be in YYYY-MM-DD format.", status=400)

    # Fetch unavailable dates directly from the database
    unavailable_dates = Booking.objects.filter(car=car, period_end__gte=start_date, period_start__lte=end_date).values_list('period_start', 'period_end')

    # Create a list of unavailable dates based on booking periods
    unavailable_dates_list = []
    for booking_start, booking_end in unavailable_dates:
        current_date = booking_start
        while current_date <= booking_end:
            unavailable_dates_list.append(current_date.strftime('%Y-%m-%d'))
            current_date += timedelta(days=1)

    # Return unavailable dates as plain text
    response_content = "\n".join(unavailable_dates_list)
    return HttpResponse(response_content, content_type="text/plain")

Я пытался получить значение переменной javascript в теге шаблона Django url, но это не сработало, и постоянно выскакивает одна и та же ошибка

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