在列表视图子类中重写 template_name
override template_name in listview subclass
我有一个 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。
如果您的 booksearch_list.html
模板位于 templates/appname/ 文件夹中,那么在您的 BookSearchListView
中,template_name
应该是:
template_name='appname/booksearch_list.html'
我有一个 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。
如果您的 booksearch_list.html
模板位于 templates/appname/ 文件夹中,那么在您的 BookSearchListView
中,template_name
应该是:
template_name='appname/booksearch_list.html'