Django 学生管理系统(3)(课程信息增删改查)

一、建立课程表

当然首先要创建一个course app

  • mysql
create table course(
    id int not null auto-increment,
    c_name varchar(30) not null,
    c_desc varchar(100) default null,
    primary key(id)
)
  • migrate
class Course(models.Model):
    c_name = models.CharField(max_length=30)  # 课程名
    c_desc = models.CharField(max_length=100)  # 添加描述 

    class Meta:
     db_table = 'course'
  • 数据迁移

二、课程表信息添加

def add_course(request):
    if request.method == 'GET':
        return render(request, 'addcourse.html')

    if request.method == 'POST':
        c_name = request.POST.get('name')
        c_desc = request.POST.get('desc')
        Course.objects.create(c_name=c_name, c_desc=c_desc)
        return HttpResponseRedirect('/stu/allstu')

三、课程表删除修改

def del_course(request, id):
    """删除课程信息"""
    Course.objects.get(id=id).delete()
    return HttpResponseRedirect('/course/allcourse')


def change_course(request, id):
    """修改选中的学生信息"""
    if request.method == 'GET':
        course = Course.objects.get(id=id)
        return render(request, 'changestu.html', {'course': course})

    if request.method == 'POST':
        course = Course.objects.get(id=id)
        name = request.POST.get('name')
        desc = request.POST.get('desc')
        course.c_name = name
        course.c_desc = desc
        course.save()
        return HttpResponseRedirect('/course/allcourse')

Django 学生管理系统(3)(课程信息增删改查)_第1张图片

四、课程查询

def select_course(request):
    """通过学号或者名字进行模糊查询"""
    if request.method == 'POST':
        str1 = request.POST.get('str1')
        page_id = request.GET.get('page_id', 1)
        # 判断是否只有数字组成,True代表为学号
        if not str(str1).isdigit():
            courses = Course.objects.filter(c_name__contains=str1)
        else:
            courses = Course.objects.filter(c_name__contains=str1)
        paginator = Paginator(courses, 3)
        page = paginator.page(int(page_id))
        return render(request, 'selectcourse.html', {'courses': page, 'str1': str1})

管理员系统中还有一个成绩信息管理,但是要想有成绩,学生肯定得先选课。所以管理员系统暂时就结束了。后面将进行的是学生选课系统。

你可能感兴趣的:(学习笔记)