Django表格数据删除:实现点击删除数据库记录

在使用Django的Web开发中,经常需要在前端页面以表格形式展示数据库中的数据。本文将详细介绍如何通过点击表格行中的删除按钮,将对应数据行的编号传递给视图函数,并最终实现从数据库中删除该条记录。

1. 定义数据模型和删除方法

首先,我们需要在models.py文件中定义数据表结构和相应的删除方法。假设我们有一个名为Employee的模型,包含姓名、编号和所属部门三个字段:pythonfrom django.db import models

class Employee(models.Model): name = models.CharField(max_length=100) code = models.CharField(max_length=100) department = models.CharField(max_length=100)

def delete_employee(self):        self.delete()

这里我们定义了一个delete_employee方法,用于删除该员工记录。

2. 视图函数获取数据并传递给模板

接下来,在views.py文件中定义视图函数,用于获取所有员工数据并传递给模板进行渲染:pythonfrom django.shortcuts import renderfrom .models import Employee

def employee_list(request): employees = Employee.objects.all() return render(request, 'employee_list.html', {'employees': employees})

3. 模板中添加删除按钮

在employee_list.html模板文件中,使用表格展示员工数据,并为每一行添加一个删除按钮,该按钮链接到delete_employee视图函数,并将员工ID作为参数传递:html

{% for employee in employees %} {% endfor %}
姓名 编号 所属部门 操作
{{ employee.name }} {{ employee.code }} {{ employee.department }} <a href='{% url 'delete_employee' employee.id %}'>删除

4. 定义URL和删除视图函数

在urls.py文件中,定义delete_employee视图函数的URL:pythonfrom django.urls import pathfrom .views import delete_employee, employee_list

urlpatterns = [ path('employee_list/', employee_list, name='employee_list'), path('delete_employee/int:employee_id/', delete_employee, name='delete_employee'),]

最后,在views.py文件中编写delete_employee视图函数,该函数接收员工ID作为参数,并调用模型中定义的delete_employee方法进行删除操作:pythonfrom django.shortcuts import redirectfrom .models import Employee

def delete_employee(request, employee_id): employee = Employee.objects.get(id=employee_id) employee.delete_employee() return redirect('employee_list')

总结

通过以上步骤,我们就实现了在Django项目中,通过点击表格行中的删除按钮,删除对应数据库记录的功能。

Django表格数据删除:实现点击删除数据库记录

原文地址: https://www.cveoy.top/t/topic/eGyw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录