Django - 为啥视图中的“默认值”不起作用?
Posted
技术标签:
【中文标题】Django - 为啥视图中的“默认值”不起作用?【英文标题】:Django - Why is the “default value” in view not working?Django - 为什么视图中的“默认值”不起作用? 【发布时间】:2020-10-31 05:06:47 【问题描述】:我的索引视图应该使用默认的“日期”值查询一些数据。 对于测试,我输入了一个字符串作为默认值。 :“2019-08-01” 我的网址:
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】:我认为您应该将其添加到您的网址:
path('', views.index, name='index'),
我的意思是这样的:
urlpatterns = [
path('<str:date_index>', views.index, name='index'),
path('', views.index, name='index'),
]
【讨论】:
以上是关于Django - 为啥视图中的“默认值”不起作用?的主要内容,如果未能解决你的问题,请参考以下文章