【问题标题】: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"? 我不明白。

【问题讨论】:

    标签: django view django-templates django-urls


    【解决方案1】:

    我认为您应该将其添加到您的网址:

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

    我的意思是这样的:

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

    【讨论】:

      猜你喜欢
      • 2014-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-05
      • 2011-12-08
      • 1970-01-01
      • 2015-05-29
      • 2015-02-12
      相关资源
      最近更新 更多