'Why django can't read my path url to show the book list?

I made some objects on my local library site and trying to go in this link: catalog/books/ to see my Booklist, but the result:
enter image description here

also my codes :

urls.py:

from django.urls import path
from django.contrib import admin
from . import views



app_name='catalog'

urlpatterns = [
   path(r'^$', views.Index.as_view(), name='index'),
   path(r'^books/$', views.BookListView.as_view(), name='books'),
   path(r'^book/(?P<pk>\d+)$', views.BookDetailView.as_view(), name='book-detail'),
]

my html files:

enter image description here

enter image description here

also i add catalog: in my models in def get_absolute_url



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source