python Django实现增删改查实战代码

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

需求分析

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

环境准备与项目创建

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

django-admin startproject student_management

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

python manage.py runserver

在浏览器中访问 http://localhost:8000,如果看到 Django 的欢迎页面,就说明项目创建成功了。

创建数据库

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/<int:id>/', delete_student, name='delete_student'),
    path('edit/<int:id>/', edit_student, name='edit_student'),
    path('list/', list_student, name='list_student'),
]

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

创建模板文件

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

<!DOCTYPE html>
<html>
<head>
    <title>学生信息列表</title>
</head>
<body>
    <h1>学生信息列表</h1>
    <a href="{% url 'add_student' %}">添加学生信息</a>
    <table>
        <thead>
            <tr>
                <th>姓名</th>
                <th>年龄</th>
                <th>性别</th>
                <th>操作</th>
            </tr>
        </thead>
        <tbody>
            {% for student in students %}
                <tr>
                    <td>{{ student.name }}</td>
                    <td>{{ student.age }}</td>
                    <td>{{ student.sex }}</td>
                    <td>
                        <a href="{% url 'edit_student' student.id %}">编辑</a>
                        <a href="{% url 'delete_student' student.id %}">删除</a>
                    </td>
                </tr>
            {% endfor %}
        </tbody>
    </table>
</body>
</html>

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

总结

以上就是本文讲解的“Python Django实现增删改查实战代码”的完整攻略。本文主要介绍了如何使用 Django 实现一个简单的学生信息管理系统,并详细讲解了项目创建、数据库创建、模型定义、视图函数编写、URL 路由配置以及模板文件创建等内容。通过学习这些内容,相信读者们已经能够熟练掌握 Django 的使用了。如需了解更多相关知识,可以参考 Django 官方文档

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python Django实现增删改查实战代码 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • django-生成随机验证码

    Python生成随机验证码,需要使用PIL模块. 安装: pip3 install pillow 1   1 pip3 install pillow 基本使用 1.创建图片 from PIL import Image #导入模块 img=Image.new(mode=”RGB”,size=(120,40),color=”yellow”) f=open(“va…

    2023年4月9日
    00
  • Django models.py应用实现过程详解

    下面就为你详细讲解“Django models.py应用实现过程详解”的完整攻略。 1. 前提知识 在正式开始之前,我们需要先了解一些前提知识: Django框架的基本概念和使用方法 Python的基础语法和面向对象编程思想 数据库的基础知识以及SQL语句的使用 如果你还不熟悉这些知识,请先进行相关学习,否则可能会对本文的理解造成不便。 2. Django的…

    Django 2023年5月16日
    00
  • Django日志和调试工具栏实现高效的应用程序调试和性能优化

    实现高效的应用程序调试和性能优化是每个开发人员和网站管理员不可避免的任务,而Django日志和调试工具栏是Django框架的两个强大的工具,可以帮助我们完成这个任务。我们可以使用Django默认的日志系统来捕获应用程序中的错误和故障,使用调试工具栏来实时监控性能并进行应用程序调试。 以下是实现“Django日志和调试工具栏实现高效的应用程序调试和性能优化”的…

    Django 2023年5月16日
    00
  • Django 模板层(Template)

      一.使用模板的原因 对页面设计进行的任何改变都必须对 Python 代码进行相应的修改。 站点设计的修改往往比底层 Python 代码的修改要频繁得多,因此如果可以在不进行 Python 代码修改的情况下变更设计,那将会方便得多。 Python 代码编写和 HTML 设计是两项不同的工作,大多数专业的网站开发环境都将他们分配给不同的人员(甚至不同部门)来…

    Django 2023年4月10日
    00
  • Python – Django – ORM 操作数据

    app01/models.py 中定义的类,也就是创建的表 from django.db import models # 类必须继承 models.Model class Admin(models.Model): # 创建一个主键自增的字段 id = models.AutoField(primary_key=True) # AutoField 为自增的字段 …

    Django 2023年4月10日
    00
  • Vue + Django实现分页实例讲解

    Vue + Django + BootstrapVue实现分页,前端后台实例讲解     1、后台Django代码      def storage(req): ”’ 存储图片接口: 1、根据roomid查询出数据 ”’ # 从数据库选出所需数据 roomid = req[‘roomid’] data_list = Memory.objects.filt…

    Django 2023年4月12日
    00
  • Django中ORM表的创建和增删改查方法示例

    下面我将为您详细讲解Django中ORM表的创建和增删改查方法示例的攻略。 ORM表的创建 在Django中,创建ORM表需要用到模型(Model)类。模型类是Django提供的一种将数据库表映射为Python类的方式,它定义了一个表在数据库中的结构及其所需要具备的特性。 创建ORM表步骤如下: 在项目的app目录下的models.py文件中创建模型类。 例…

    Django 2023年5月16日
    00
  • CentOS7下部署Django项目详细操作步骤

    详细步骤(下面步骤都是ROOT权限执行): 一、更新系统软件包yum update -y 二、安装软件管理包和可能使用的依赖 yum -y groupinstall “Development tools” yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel s…

    Django 2023年4月12日
    00
合作推广
合作推广
分享本页
返回顶部