当前位置: 首页 > news >正文

Django DeleteView视图

 Django 的 DeleteView 是一个基于类的视图,用于处理对象的删除操作。

1,添加视图函数

Test/app3/views.py

from django.shortcuts import render# Create your views here.
from .models import Bookfrom django.views.generic import ListView
class BookListView(ListView):model = Bookcontext_object_name = 'books'template_name = 'books/book_list.html'paginate_by = 10 # 设置展示页数数据from django.views.generic import DetailView
class BookDetailView(DetailView):model = Bookcontext_object_name = 'book'template_name = 'books/book_detail.html'from django.views.generic.edit import CreateView
class BookCreateView(CreateView):model = Booktemplate_name = 'books/book_form.html'fields = ['title', 'author', 'publication_date']success_url = '/app3/books/' # 重定向至书本列表路由地址from django.urls import reverse_lazy
from django.views.generic.edit import UpdateView
class BookUpdateView(UpdateView):model = Bookfields = ['title', 'author', 'publication_date']template_name = 'books/book_edit.html'success_url = reverse_lazy('book_list')from django.shortcuts import get_object_or_404
from django.urls import reverse
from django.views.generic.edit import DeleteView
class BookDeleteView(DeleteView):model = Booktemplate_name = 'books/book_delete.html'def get_object(self):id_ = self.kwargs.get("id")return get_object_or_404(Book, id=id_)def get_success_url(self):return reverse('book_list')

2,添加路由地址

Test/app3/urls.py

from django.urls import path
from . import viewsfrom .views import BookListView
from .views import BookDetailView
from .views import BookCreateView
from .views import BookUpdateView
from .views import BookDeleteViewurlpatterns = [path('books/', BookListView.as_view(), name='book_list'),path('books/<int:pk>/', BookDetailView.as_view(), name='book_detail'),path('books/new/', BookCreateView.as_view(), name='book_new'),path('books/<int:pk>/edit/', BookUpdateView.as_view(), name='BookUpdateView'),path('books/delete/<int:id>/', BookDeleteView.as_view(), name='book_delete'),
]

3,添加html代码

Test/templates/books/book_delete.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><form method="POST">{% csrf_token %}<p>你确定要删除这本书吗?</p><button type="submit">确认删除</button>
</form></body>
</html>

4,访问页面

 

http://www.lryc.cn/news/369704.html

相关文章:

  • 代码杂谈 之 pyspark如何做相似度计算
  • 混剪素材哪里找?分享8个热门素材网站
  • 临床应用的深度学习在视网膜疾病的诊断和转诊中的应用| 文献速递-视觉通用模型与疾病诊断
  • 中继器简介
  • websocket 前端项目js示例
  • webapi跨越问题
  • 你知道 npmrc 文档吗? ---- npmrc 关键作用介绍
  • 发现 Laravel 中的 api 响应时间明显过长
  • 如何在MySQL中创建不同的索引和用途?
  • maxwell同步mysql到kafka(一个服务器启动多个)
  • 实用软件分享---简单菜谱 0.3版本 几千种美食(安卓)
  • 网络学习(14)|RESTful API设计:构建优雅的Web服务
  • 【开源】APIJSON 框架
  • R语言探索与分析18-基于时间序列的汇率预测
  • 30岁迷茫?AI赛道,人生新起点
  • 开门预警系统技术规范(简化版)
  • Django与MySQL:配置数据库的详细步骤
  • GPT-4o short description
  • MATLAB 矩阵
  • LED灯的功率以及好的品牌推荐
  • Linux “ 软件管理 “
  • 【uni-app】申请高德地图key,封装map.js,实现H5、iOS、Android通过getlocation获取地图定位信息
  • 使用rufus做Kali Linux时持久分区大小如何设置
  • Java高阶数据结构-----并查集(详解)
  • GitLab教程(三):多人合作场景下如何pull代码和处理冲突
  • 模版偏特化之std::enable_if
  • 好用的Web数据库管理工具推荐(ChatGPT的推荐)
  • encoding Token和embedding 傻傻分不清楚?
  • 一个公用的数据状态修改组件
  • [python]yfinance国内不能使用