2017-02-05 7 views
0

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

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

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} 
+0

Вы уверены, что проблема исходит от context_processor и не ваше мнение, чтобы отобразить индекс? – Wilfried

+0

@ Wilfried да. им, решить его – shahin

ответ

0

Решить его:

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} 

 Смежные вопросы

  • Нет связанных вопросов^_^