在书中:“ Django的书2.0”中,作者谈到了在URL中使用“捕手”。据他介绍,您可以在url中省略一些参数,并在views.py
中定义它,以防止出现错误404:
urls.py
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^hours/(?P<hour>\d+)/$', views.date_in),
views.py
def date_in(request, hour='02'): #Default argument defined here
hour=int(hour)
#some extra code
这对我不起作用。我仍然收到错误404,因为小时后的参数不存在。
答案 0 :(得分:2)
您没有在hour
中省略urls.py
参数。试试这个:
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^hours/(?P<hour>\d+)/$', views.date_in),
url(r'^hours/$', views.date_in),
这将为同一视图创建两条路线。一个接受hour
自变量,一个不接受。没有hour
参数的那个将使用默认值('02'
)。