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学习之路之请求与响应

    针对您提出的问题,本篇回答将主要包括以下几个部分: 理解请求和响应的含义及基本原理; 掌握Django框架中HTTP请求和响应的相关知识; 示例说明,演示Django中请求与响应的实现方法。 1. 请求和响应的含义及基本原理 在Web应用中,浏览器向服务器发送数据,服务器会处理这些数据,然后再返回给浏览器一些数据,这个过程就称为请求和响应。 请求(Reque…

    Django 2023年5月16日
    00
  • django query模块

    Django中的query模块是用于与数据库进行交互的API。它提供了一个组合查询表单的方式,可以使用查询表达式、筛选条件和聚集函数等操作数据。下面是使用query模块的完整攻略,并包含两条示例说明。 1. 查询操作 使用query模块,我们可以使用方法.objects获取数据表中的记录并进行筛选。下面举例说明: 1.1. 获取所有记录 from youra…

    Django 2023年5月16日
    00
  • django.db.utils.OperationalError: (2003, “Can’t connect to MySQL server on ‘127.0.0.1’)

    报错信息如下:       检查发现原来是自己的sql没有启动     启动mysql后,        

    Django 2023年4月12日
    00
  • python中的django是做什么的

    Django 是 Python 的一个流行的 Web 框架,它提供了一个高效且易于使用的开发环境,用于简化 Web 应用程序的创建和维护。Django 提供了许多有用的功能,使得开发 Web 应用程序变得更加快速、更加简便。 Django 可以帮助我们快速构建复杂的 Web 应用程序。其主要功能包括: URL 路由:Django 可以轻松地映射 URL 到应…

    Django 2023年5月15日
    00
  • Django中Q查询及Q()对象 F查询及F()对象用法

    Django中的Q查询和F查询是Django ORM中的两个重要的查询方式。本文将详细介绍Q查询及Q()对象和F查询及F()对象的用法。本文的目标读者是具有Django基础的开发者。 ## Q查询及Q()对象 Q查询是Django ORM中的高级查询方式,可以用于复杂的查询语句。Q查询本质上是一个查询条件,它可以AND、OR、NOT等逻辑操作符组合在一起。 …

    Django 2023年5月16日
    00
  • Django路由系统-URL命名&URL反向解析

    前言 起始样式,HTML中的href是写死的,不能更改,如下示例代码: # urls中 urlpatterns = [ url(r’^admin/’, admin.site.urls), url(r’^jjzz/$’, views.JJzz.as_view()), url(r’^jjzz_index/$’, views.Index.as_view()), u…

    Django 2023年4月9日
    00
  • Django踩坑之ExtendsNode: extends ‘base/base.html’> must be the first tag in the template.

    模板继承报错:extends ‘base/base.html’> must be the first tag in the template base.html如下: <!– {% load static %} {{name}} <img src=”{% static “images/test.jpg” %}” alt=”test-jpg…

    Django 2023年4月12日
    00
  • Django项目发布 环境部署(中)

    python环境部署 我们今天学习的内容是如何将Django项目部署到linux服务器上,我们部署的linux系统是centos7首先,我们先在linux上搭建我们的Python3环境: 在这里首先强调一下,Centos7系统自带的Python2我们不要删除,我们要做的是在Python2和python3并存。 1、  安装Python3的依赖包 2、  命令…

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