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/

相关推荐
优秘UMI5 分钟前
大语言模型 (LLM):理解与生成内容的核心技术引擎
python·科技·其他·ai
sherlock_ye48 分钟前
‘jupyter‘ 不是内部或外部命令,也不是可运行的程序或批处理文件,最终解决方案!
ide·python·jupyter·conda
Salt_072820 分钟前
DAY27 pipeline管道
python·机器学习
萧鼎21 分钟前
Python PyWavelets(pywt)库完整技术指南:从小波理论到工程实践
开发语言·python
MediaTea28 分钟前
Python 装饰器:@property_name.deleter
开发语言·python
中等生29 分钟前
Celery 异步任务完全指南:从入门到实战
python·flask
Cherry的跨界思维31 分钟前
5、Python长图拼接终极指南:Pillow/OpenCV/ImageMagick三方案
javascript·python·opencv·webpack·django·pillow·pygame
acethanlic1 小时前
使用Ruff进行Python代码Format、lint和fix
python
codists1 小时前
在 Pycharm 中 debug Scrapy 项目
python
Pyeako1 小时前
操作HTML网页(PyCharm版)
爬虫·python·html