Отображение данных без использования цикла Django

Как мне обойтись без цикла и отобразить только один товар, представленный ниже?

{data.title }}



 {% for data in data %}
    <h3 class="my-4 border-bottom pb-1">{{data.title }}</h3>
    <div class="row">
        {% endfor %}

Я пытался использовать:

<h3 class="my-4 border-bottom pb-1">{{data.title }}</h3>
    <div class="row">

Я получаю пустую секцию, хотя цикл работает отлично. Вот функция views:

booking_detail(request, slug, id):
        booking=Bookings.objects.all().order_by('-id')
        return render(request,'booking_detail.html',{'data':booking})

модель

class Bookings(models.Model):
    title=models.CharField(max_length=200)
    image=models.ImageField(upload_to="rooms_imgs")
    slug=models.CharField(max_length=400)
    detail=models.TextField()
    features=models.TextField()
    location=models.ForeignKey(Location, on_delete=models.CASCADE)
    category=models.ForeignKey(Category, on_delete=models.CASCADE)
    hostel=models.ForeignKey(Hostel, on_delete=models.CASCADE)
    amenities=models.ForeignKey(Amenities, on_delete=models.CASCADE)
    roomsizes=models.ForeignKey(RoomSizes,on_delete=models.CASCADE)
    status=models.BooleanField(default=True)
    is_featured=models.BooleanField(default=False)
    is_availabe=models.BooleanField(default=True)
    

url

path('booking/<str:slug>/<int:id>',views.booking_detail,name='booking_detail'),

Насколько я понимаю, эта функция просмотра используется только для одного бронирования

booking_detail(request, slug, id):
        booking=Bookings.objects.all().order_by('-id')
        return render(request,'booking_detail.html',{'data':booking})

Поэтому лучше изменить его так, чтобы он извлекал только одну запись, а не список

from django.shortcuts import get_object_or_404


def booking_detail(request, slug, id):
    booking=get_object_or_404(Bookings, pk=id, slug=slug) 
    return render(request,'booking_detail.html',{'booking': booking})

А затем в HTML просто:

<h3 class="my-4 border-bottom pb-1">{{ booking.title }}</h3>
<div class="row">

Документация https://docs.djangoproject.com/en/4.0/topics/http/shortcuts/#get-object-or-404

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