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}