打开
/catalog/urls.py
,并复制到下面粗体显示的行中。就像索引页面的方式,这个
path()
函数,定义了一个与 URL 匹配的模式('
books/
'),如果 URL 匹配,将调用视图函数(
views.BookListView.as_view()
)和一个对应这个特定映射的名称。
urlpatterns = [
path('', views.index, name='index'),
path('books/', views.BookListView.as_view(), name='books'),
正如前一个教程中所讨论的,URL 必须已经先匹配了/catalog,因此实际上将为 URL 调用的视图是:/catalog/books/。
视图函数具有与以前不同的格式 - 这是因为该视图,实际上将以类别来实现。我们将继承现有的泛型视图函数,该函数已经完成了我们希望此视图函数执行的大部分工作,而不是从头开始编写自己的函数。对于基于 Django 类的视图,我们通过调用类方法as_view(),来访问适当的视图函数。这样做可以创建类的实例,并确保为传入的 HTTP 请求调用正确的处理程序方法。