当前位置:知识百科 > 正文

python_Django实现增删改查实战代码

更新时间:2025-01-08 23:03 阅读量:39

下面我将详细讲解"Python Django实现增删改查实战代码"的完整攻略,具体内容如下:

需求分析

在实现增删改查实战代码之前,我们首先需要明确自己的需求.本文中我们的需求是基于 Django 实现一个简单的学生信息管理系统,其中包括添加学生信息、删除学生信息、修改学生信息以及查看学生信息.

环境准备与项目创建

在开始项目前,我们需要先安装 Django.可以使用 pip 命令 pip install Django 来安装.安装完成以后,我们可以使用 Django 的命令行工具来创建新的项目:

django-admin startproject student_management

其中 student_management 为项目的名称.创建完成后,可以使用以下命令来启动项目:

python manage.py runserver

创建数据库

Django 默认使用 SQLite 作为数据库,我们只需要在 settings.py 文件中指定数据库的连接参数即可.今天这一节我们使用默认的 SQLite 数据库,并在 settings.py 文件中添加如下配置:

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.sqlite3',
    'NAME': BASE_DIR / 'db.sqlite3',
}
}

运行以下命令可以创建数据库表:

python manage.py migrate

创建学生信息模型

在项目中,我们需要定义一个学生信息模型来存储学生的信息.在 models.py 文件中添加如下代码:

from django.db import models


class Student(models.Model):
name = models.CharField(max_length=50)
age = models.IntegerField()
sex = models.CharField(max_length=10)

def __str__(self):
    return self.name

以上代码定义了一个 Student 模型,包含字段 name(姓名)、age(年龄)、sex(性别).我们还需要在 settings.py 文件中添加如下配置:

INSTALLED_APPS = [
# ...
'student',
# ...
]

其中 'student' 是应用的名称,这是我们在后面创建 views 时需要用到的.

运行以下命令可以将模型同步到数据库中:

python manage.py makemigrations
python manage.py migrate

创建视图函数

此时此刻呢,我们需要创建视图函数来实现以下功能:

添加学生信息

删除学生信息

修改学生信息

查看学生信息

在 views.py 文件中添加如下代码:

from django.shortcuts import render, redirect
from student.models import Student


def add_student(request):
if request.method == 'POST':
    name = request.POST['name']
    age = request.POST['age']
    sex = request.POST['sex']
    Student.objects.create(name=name, age=age, sex=sex)
    return redirect('/student/list/')
return render(request, 'add.html')


def delete_student(request, id):
Student.objects.filter(id=id).delete()
return redirect('/student/list/')


def edit_student(request, id):
student = Student.objects.get(id=id)
if request.method == 'POST':
    student.name = request.POST['name']
    student.age = request.POST['age']
    student.sex = request.POST['sex']
    student.save()
    return redirect('/student/list/')
context = {'student': student}
return render(request, 'edit.html', context)


def list_student(request):
students = Student.objects.all()
context = {'students': students}
return render(request, 'list.html', context)

以上代码定义了四个视图函数:

add_student 函数用于添加学生信息.当用户提交表单时,会将表单数据存入数据库,并跳转到学生信息列表页面.

delete_student 函数用于删除学生信息.

edit_student 函数用于修改学生信息.当用户提交表单时,会将修改后的信息存入数据库,并跳转到学生信息列表页面.

list_student 函数用于显示所有学生信息.

创建 URL 路由

在 urls.py 文件中添加如下代码:

from django.urls import path
from student.views import add_student, delete_student, edit_student, list_student


urlpatterns = [
path('add/', add_student, name='add_student'),
path('delete//', delete_student, name='delete_student'),
path('edit//', edit_student, name='edit_student'),
path('list/', list_student, name='list_student'),
]

以上代码定义了四个 URL 路由,分别对应四个视图函数.

创建模板文件

最后,我们需要创建模板文件.在 templates 目录中创建 add.html、edit.html、list.html 三个 HTML 文件,分别对应三个页面.以下是 list.html 页面的示例代码:




学生信息列表


学生信息列表

添加学生信息 {% for student in students %} {% endfor %}
姓名 年龄 性别 操作
{{ student.name }} {{ student.age }} {{ student.sex }} 编辑 删除

以上代码定义了一个学生信息列表页面,其中包含一个用于添加学生信息的链接,以及一个表格用于展示所有学生的信息.

总结