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/

相关推荐
vvw&1 小时前
如何在 Ubuntu 上安装 Jupyter Notebook
linux·人工智能·python·opencv·ubuntu·机器学习·jupyter
Spy971 小时前
django 过滤器的执行
后端·python·django
_.Switch1 小时前
Django SQL 查询优化方案:性能与可读性分析
开发语言·数据库·python·sql·django·sqlite·自动化
Amo Xiang1 小时前
Django 2024全栈开发指南(三):数据库模型与ORM操作(上篇)
数据库·django·django-orm
Ws_4 小时前
leetcode LCR 068 搜索插入位置
数据结构·python·算法·leetcode
lx学习4 小时前
Python学习26天
开发语言·python·学习
qq_273900235 小时前
pytorch register_buffer介绍
人工智能·pytorch·python
大今野5 小时前
python习题练习
开发语言·python
q567315236 小时前
用 PHP或Python加密字符串,用iOS解密
java·python·ios·缓存·php·命令模式
winfredzhang7 小时前
如何使用 python 中的 Pillow 创建可自定义的图标生成器
python·pillow·图标·png