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

yizhihongxing

下面我将详细讲解“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日

相关文章

  • 给Python的Django框架下搭建的BLOG添加RSS功能的教程

    给Python的Django框架下搭建的BLOG添加RSS功能的教程如下: 1. 安装Django开发环境 在开始添加RSS功能之前,你需要先安装Django开发环境。你可以使用pip命令来安装: pip install django 如果你已经安装了Django,你可以使用下面的命令来检查版本号: python -m django –version 2.…

    Django 2023年5月16日
    00
  • 11.关于django的content_type表

      ****** Django的contenttype表中存放发的是app名称和模型的对应关系 contentType使用方式 – 导入模块 from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.fields import Gen…

    Django 2023年4月11日
    00
  • Django专题-ugettext_lazy

    标准翻译  来引入这个函数以节省键入时间.  被标记为待翻译字符串:   from django.utils.translation import ugettext as _ def my_view(request):   output = _(“Welcome to my site.”)   return HttpResponse(output) 显然,你…

    Django 2023年4月13日
    00
  • django有哪些好处和优点

    Django是一个用于Web应用程序开发的高级Python框架。它具有以下好处和优点: 1. 快速开发 Django 提供了一系列迅速完成 Web 应用程序开发的工具。Django 的模板语言和自动化管理工具可以帮助开发者快速地建立并部署 Web 应用程序。此外,Django 还包含了许多自带的模块,可以快速解决常见的问题,例如用户认证、数据库操作、URL …

    Django 2023年5月15日
    00
  • 关于celery django django-celery搭配报错问题及解决方法

    G:\python3_django\DFpro\mypro (win)(py3_django) λ python manage.py celery worker –loglevel=infoTraceback (most recent call last):  File “manage.py”, line 10, inexecute_from_comman…

    Django 2023年4月10日
    00
  • Django 内置权限扩展案例详解

    这里是针对“Django 内置权限扩展案例详解”的完整攻略,包含两个示例说明的详细讲解。 1. 示例一 1.1 案例描述 假设我们要实现一个博客系统,需要实现以下功能: 所有用户都可以浏览博客列表和单篇博客。 未登录用户不能对博客进行任何操作(包括新建、修改、删除和点赞)。 登录用户可以进行以下操作: 创建自己的博客文章。 修改自己创建的博客文章。 删除自己…

    Django 2023年5月16日
    00
  • Django的安装、使用详解、自动化测试应用以及程序打包

    1、Django的安装 pip install Django 验证 Django 是否能被 Python 识别 >>> import django >>> print(django.get_version()) 2.2.6 2、创建Django项目脚手架(里面mysite 是Django容器) cd 到一个你想放置你代码的…

    Django 2023年4月13日
    00
  • django 开发之给admin 模块添加富文本编辑器

    第一步下载kindeditor  http://kindeditor.net/demo.php 下载下来后放到静态文件static 下面的js下面   接着在admin 模块文章类下引入这富文本编辑器: class ArticleAdmin(admin.ModelAdmin): 下面   接着添加一个文件名字为config.js  添加一些配置  

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