1. 程式人生 > >Django 學生管理系統(3)(課程資訊增刪改查)

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')

img

四、課程查詢

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})

管理員系統中還有一個成績資訊管理,但是要想有成績,學生肯定得先選課。所以管理員系統暫時就結束了。後面將進行的是學生選課系統。