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日

相关文章

  • django1.6 GET url传参 乱码

    在使用django的时候,用到了url传参, 但是发现怎么也传不过去,出现url中 ‘=’ 乱码,而且更严重的出现url 与写在urls的正则不匹配,导致出现404错误 在网上发现:django使用GET传参的注意细节: 下面是我的url正则: url(r’^network/detail/$’,’oak.network.detail’,name=’detai…

    Django 2023年4月9日
    00
  • django框架学习:二十五.django xadmin管理后台

    前面学习了django自带的admin后台管理感觉页面不美观,网上的大神优化了一版后台管理xadmin,并且开源了,在github开源下载到源码。 django 2.1.2 xadmin 2.0 python 3.6 xadmin安装 xadmin在github的源码地址https://github.com/sshwsfc/xadmin,可以用pip安装也可…

    2023年4月10日
    00
  • 使用pyinstaller打包django的方法实现

    使用pyinstaller打包Django应用程序的方法是将Django程序打包成可执行的二进制文件,可以在任何没有安装Python的机器上运行。下面是使用pyinstaller打包Django的完整攻略。 准备工作 在开始之前,请确保系统中已经安装了pyinstaller和Django。如果您还没有安装它们,请先安装。 pip install pyinst…

    Django 2023年5月16日
    00
  • django 后台显示字段修改

    1.app名称 本来估计能找到类似Mete中verbose_name_plural属性去更改app显示名称的,可以只找到一个app_label。但是由于django源码中是这样写的:    app_dict[app_label] = {           ‘name’: app_label.title(),           ‘app_url’: app…

    Django 2023年4月13日
    00
  • django基于mysql实现图片上传与打开

    1:在models.py文件中建立数据表  from django.db import models  class User(models.Model): img = models.ImageField(upload_to=’img’,null=True)   因为我是后来添加的图片字段,所以需要在里面加个null=True,至于Upload_to是文件板寸…

    Django 2023年4月13日
    00
  • 在SAE上部署Python的Django框架的一些问题汇总

    下面是部署Python的Django框架在SAE上的一些问题汇总的完整攻略和两个示例说明。 1. 环境搭建 首先,需要在本地安装 Django 和 mysqlclient。可以使用以下命令: pip install django pip install mysqlclient 如果报错,可以尝试使用以下命令: pip install django –use…

    Django 2023年5月16日
    00
  • 用Django写天气预报查询网站

    下面为您详细讲解“用Django写天气预报查询网站”的完整攻略,包含两条示例说明。 一、Django基础知识 1.1 什么是Django? Django 是一个高级的 Python web 框架,可以快速搭建 Web 应用程序和网站。Django 非常强大,提供许多内置功能,如 ORM 、模板和缓存等。 1.2 安装Django 在安装 Django 之前,…

    Django 2023年5月16日
    00
  • 使用django-suit为django 1.7 admin后台添加模板

    使用django-suit为Django 1.7及以上版本的admin后台添加模板,可以美化后台的外观以及提供更多的功能。下面是步骤: 安装django-suit: 在终端中运行以下命令,进行安装: pip install django-suit 启用django-suit: 在你的settings.py文件中添加以下代码: INSTALLED_APPS =…

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