django - обработчики контекста возвращают ошибку

Я добавил следующую функцию в context_processors.py, но когда я иду в индекс URL, верните мне ошибку. это естественная ошибка потому что у нас нет даты аргументов в индексе.

Есть ли способ предотвратить отображение этой ошибки?

sample_path = http://127.0.0.1:8000/reserve/2017-02-01/

def one_day_foods_NOT_PAID(request):
    user = request.user
    path = request.get_full_path()
    date = path.strip('/').split("/", 2)
    if len(date) == 0:
        year, month, day = 0
    else:
        year, month, day = date[1].split("-")
        foods = Reservation.objects.filter(order_date__startswith = 
            datetime.date(int(year), int(month), int(day))).filter(user=user)
    return {'foods':foods}

1 ответ

Реши это:

def one_day_foods_NOT_PAID(request):
    user = request.user
    path = request.get_full_path()
    date = path.strip('/').split("/")
    try:
        year = date[1].split("-")[0]
        month= date[1].split("-")[1]
        day = date[1].split("-")[2]
        foods = Reservation.objects.filter(order_date__startswith = 
            datetime.date(int(year), int(month), int(day))).filter(user=user)
        return {'foods':foods}
    except IndexError:
        foods = None
        return {'foods':foods}
Другие вопросы по тегам