赞
踩
Django的DetailView
是一个用于显示单个对象详情的视图。下面是一个使用DetailView
来显示单个书籍详情的例子。
Test/app3/views.py
- from django.shortcuts import render
-
- # Create your views here.
- from django.views.generic import ListView
- from .models import Book
-
- class BookListView(ListView):
- model = Book
- context_object_name = 'books'
- template_name = 'books/book_list.html'
- paginate_by = 10 # 设置展示页数数据
-
-
- from django.views.generic import DetailView
- class BookDetailView(DetailView):
- model = Book
- context_object_name = 'book'
- template_name = 'books/book_detail.html'
Test/app3/urls.py
- from django.urls import path
- from . import views
-
- from .views import BookListView
- from .views import BookDetailView
-
- urlpatterns = [
- path('books/', BookListView.as_view(), name='book_list'),
- path('books/<int:pk>/', BookDetailView.as_view(), name='book_detail'),
- ]
-
Test/templates/books/book_detail.html
- <!-- 在templates/books/book_detail.html中 -->
- <!DOCTYPE html>
- <html>
- <head>
- <title>{{ book.title }}</title>
- </head>
- <body>
- <h1>{{ book.title }}</h1>
- <p>Author: {{ book.author }}</p>
- <p>Publication date: {{ book.publication_date }}</p>
- </body>
- </html>
http://127.0.0.1:8000/app3/books/1/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。