Как можно отсортировать порядок карточек, отображаемых в HTML? - PullRequest
0 голосов
/ 19 июня 2020

Я использую Python и Django для создания веб-сайта. Я делаю приблизительную версию домашней страницы с Bootstrap и HTML. У меня есть группа карточек, на которых написано время (например, «12:00» или «14:30»). Как я могу отсортировать эти карточки в порядке от самых ранних до последних?

Ниже мой код. Я помещаю туда случайные данные, потому что получаю реальные данные от Django.

body {
  background: #272C31;
  color: #FFFFFF;
  margin-top: 5rem;
}
<div class="container py-2">
    <h1>Reservation Home</h1>
    <div class="row">
        <div class="col-md-6">
            <div class="card-group">
                <div class="card card text-white bg-dark" style="flex-grow:.39">
                    <div class="card-body">
                        <h2 class="card-title"> 3:00 </h2>
                        <h2 class="card-title"> PM </h2>
                    </div>
                </div>
                <div class="card text-white bg-dark ">
                    <div class="card-body">
                        <h4 class="card-title"> Joe </h4>
                        <p class="card-text"> Member ID: abc </p>
                        <p class="card-text"> Number of Guests: 3</p>
                    </div>
                </div>
            </div>
            <div class="card-group">
                <div class="card card text-white bg-dark" style="flex-grow:.39">
                    <div class="card-body">
                        <h2 class="card-title"> 12:00 </h2>
                        <h2 class="card-title"> AM </h2>
                    </div>
                </div>
                <div class="card text-white bg-dark ">
                    <div class="card-body">
                        <h4 class="card-title"> Jeff </h4>
                        <p class="card-text"> Member ID: xyz </p>
                        <p class="card-text"> Number of Guests: 2</p>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
</div>

РЕДАКТИРОВАТЬ: views.py

from django.shortcuts import render
from .models import Reservation
# Create your views here.
    
def home(request):
    context = {
        'reservations' : Reservation.objects.all()
    }
    return render(request, 'reservation/reservation.html', context)

models.py:

from django.db import models
# Create your models here.

class Reservation(models.Model):
    choices = (
        ('AM', 'AM'),
        ('PM', 'PM')
    )
    name = models.CharField(max_length=40)
    member_id = models.CharField(max_length=10, default="")
    guest_num = models.IntegerField()
    reserve_time = models.CharField(max_length=7)
    AM_PM = models.CharField(
        max_length=2,
        choices= choices,
        default= "PM",
    )


    def __str__(self):
        return f"{self.name} at {self.reserve_time}{self.AM_PM}"

1 Ответ

0 голосов
/ 20 июня 2020

Можно попробовать в views.py:

def home(request):
    context = {
        'reservations' : Reservation.objects.all().order_by('-reserve_time')
    }
    return render(request, 'reservation/reservation.html', context)

, вы также должны упростить вам выбор времени в models.py для:

reserve_time = models.DateTimeField(default=timezone.now)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...