Django实现学生管理系统

本文介绍了使用Django框架创建一个学生信息管理系统的视图和模型文件。主要功能包括显示所有学生信息、模糊查询、添加、修改和删除学生。通过Q对象实现了模糊查询,视图函数处理了HTTP请求的不同方法,如GET和POST,与数据库交互,更新模板上下文并返回响应。
摘要由CSDN通过智能技术生成

部分核心代码

  • 视图文件
from django.shortcuts import render
from django.shortcuts import HttpResponse
from Student import models
from django.db.models import Q
from Student.models import Student


# Create your views here.

# 主页显示所有学生的信息
def showAll(request):
    students = Student.objects.all()
    count = students.__len__()

    return render(request, "index.html", context={"students": students, "count": count})


# 根据首页输入框模糊查询
def findStudent(request):
    str = request.POST.get("str")
    students = models.Student.objects.filter(
        Q(sname__icontains=str) | Q(ssex__icontains=str))
    count = students.__len__()
    return render(request, "index.html", context={"students": students, "count": count})


# 添加学生
def addStudent(request):
    if request.method == "GET":
        return render(request, "add.html")

    elif request.method == 'POST':
        sname = request.POST.get("sname")
        ssex = request.POST.get("ssex")
        sage = request.POST.get("sage")

        Student.objects.create(sname=sname, ssex=ssex, sage=sage)
        students = Student.objects.all()
        count = students.__len__()
        return render(request, "index.html", context={"students": students, "count": count})


# 修改学生
def updateStudent(request, stu_id):
    # 根据表单提交的方式判断是查询单个还是修改之后提交数据库
    if request.method == "GET":

        student = Student.objects.get(sid=stu_id)
        return render(request, "update.html", context={"student": student})
    # 表单提交,进行修改学生
    elif request.method == 'POST':
        # 获取需要修改的学生对象的信息
        update_sid = request.POST.get("sid")

        update_sname = request.POST.get("sname")
        update_ssex = request.POST.get("ssex")
        update_sage = request.POST.get("sage")

        update_student = Student.objects.filter(sid=update_sid)
        update_student.update(sname=update_sname, ssex=update_ssex, sage=update_sage)

        students = Student.objects.all()
        count = students.__len__()
        return render(request, "index.html", context={"students": students, "count": count})


# 删除学生
def deleteStudent(request, stu_id):
    stu = Student.objects.filter(sid=stu_id)  # 必须是filter如果是get则不行只能获取  模型名字加objects加方法filter
    if stu:
        stu.delete()  # 删除文章

        students = Student.objects.all()
        count = students.__len__()
        return render(request, "index.html", context={"students": students, "count": count})
    else:
        return HttpResponse('该文章不存在,无法删除!')

模型文件

from django.db import models


# Create your models here.

class Student(models.Model):
    sid = models.AutoField(primary_key=True)
    sname = models.CharField(max_length=255, blank=True, null=True, verbose_name='姓名')
    ssex = models.CharField(max_length=255, blank=True, null=True, verbose_name='性别')
    sage = models.IntegerField(blank=True, null=True, verbose_name='年龄')

    class Meta:
        db_table = 'student'
        verbose_name = '学生'
        verbose_name_plural = verbose_name

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值