Django - Почему не работает «значение по умолчанию»? - PullRequest
0 голосов
/ 10 июля 2020

мое представление индекса должно запрашивать некоторые данные со значением "дата дня" по умолчанию. Для теста я ввел строку как значение по умолчанию. : "2019-08-01" Мой URL:

urlpatterns = [
     path('<str:date_index>', views.index, name='index'),
    ]

Мое мнение:

def get_reunions_by_date(date_r):
    return Reunion.objects.filter(datetime_start__startswith=date_r) \
        .order_by('numero', 'hippodrome__nom')

def index(request, date_index="2019-08-01"):
    year, month, day = map(int, date_index.split('-'))
    date_du_jour = date(year, month, day)
  
    return render(request, 'myapp/index.html', {
        'reunions': get_reunions_by_date(date_du_jour),
        'date_du_jour': date_du_jour
    })

Теперь, если я введу этот URL: myapp/2019-01-01, он работает, шаблон индекса отображается, но если я ввожу этот URL: myapp/, ничего не отображается. Почему в представлении не используется значение по умолчанию date_index="2019-08-01"? Я не понимаю.

1 Ответ

1 голос
/ 10 июля 2020

я думаю, вам следует добавить это в маршрут к своим URL-адресам:

 path('', views.index, name='index'),

я имею в виду вот так:

urlpatterns = [
    path('<str:date_index>', views.index, name='index'),
    path('', views.index, name='index'),
]
...