一、建立课程表
当然首先要创建一个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')
四、课程查询
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})
管理员系统中还有一个成绩信息管理,但是要想有成绩,学生肯定得先选课。所以管理员系统暂时就结束了。后面将进行的是学生选课系统。