覆盖listview子类中的template_name

时间:2017-05-17 11:29:15

标签: django templates django-generic-views

我有一个BookListView,显示我库中的所有书籍。我还有一个名为BookSearchListView的BookListView的子类。我试图通过使用template_name变量来覆盖模板。但这没有效果。

views.py

class BookListView(generic.ListView):
   model=Book
   paginate_by=15



class BookSearchListView(BookListView):
   paginate_by=10
   template_name='booksearch_list.html'
   def get_queryset(self):
       pass

urls.py

url(r'^ksiazki/', views.BookListView.as_view(), name='books'),

url(r'^szukaj/', views.BookSearchListView.as_view(), name='search-list-view'),

我试图在视图和网址中覆盖template_name,但在两种情况下都保留book_list.html,它是BookListViews的默认模板,而不是booksearch_list.html。

1 个答案:

答案 0 :(得分:1)

如果您的booksearch_list.html模板位于 templates / appname / 文件夹中,那么BookSearchListView中的template_name应该是:

template_name='appname/booksearch_list.html'