Django DetailView视图

Django的DetailView是一个用于显示单个对象详情的视图。下面是一个使用DetailView来显示单个书籍详情的例子。

1,添加视图

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'

2,添加路由地址

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'),
]

3,添加html代码

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>

3,访问页面

http://127.0.0.1:8000/app3/books/1/

相关推荐
Pocker_Spades_A4 分钟前
Python快速入门专业版(二十六):Python函数基础:定义、调用与返回值(Hello函数案例)
开发语言·python
周周记笔记34 分钟前
学习笔记:Python的起源
开发语言·python
魂尾ac1 小时前
Django + Vue3 前后端分离技术实现自动化测试平台从零到有系列 <第一章> 之 注册登录实现
后端·python·django·vue
Source.Liu1 小时前
【Pywinauto库】10.7 pywinauto.controls.uia_controls控件
windows·python·自动化
人工干智能1 小时前
建自己的Python项目仓库,使用工具:GitHub(远程仓库)、GitHub Desktop(版本控制工具)、VSCode(代码编辑器)
python·编辑器·github
StarPrayers.2 小时前
PySpark基础知识(python)
python·数据分析·spark
潜龙95272 小时前
第6.2节 Android Agent开发<二>
android·python·覆盖率数据
I'm a winner3 小时前
第五章:Python 数据结构:列表、元组与字典(一)
开发语言·数据结构·python
番薯大佬3 小时前
Python学习-day9 字典Dictionary
网络·python·学习
nightunderblackcat3 小时前
新手向:C语言、Java、Python 的选择与未来指南
java·c语言·python