学生选课系统 - 在线选课,课程搜索,个人课表管理
主页
@blueprint_student.route('/student') def main_page(): return render_template('student/main_page.html')
@blueprint_student.route('/student/selection') def select_course(): message = Message()
courses = Course.query_all()
if request.args.get('cid'):
if not session.get('student_number'):
message.set_error('选课失败')
else:
if Record.query_course_with_student(request.args.get('cid'), session.get('student_number')):
message.set_error('已选择该课程,无需再次选择')
else:
Record.add(student_number=session.get('student_number'), course_id=request.args.get('cid'))
message.set_ok('选课成功')
return render_template('student/course_list.html', courses=courses, message=message)
@blueprint_student.route('/student/schedule') def my_schedule(): records = Record.query_by_student_number(session.get('student_number')) courses = [] for record in records: course = Course.query_by_id(record.course_id) courses.append(course)
return render_template('student/my_course.html', courses=courses)
@blueprint_student.route('/student/course/<course_id>', methods=['POST', 'GET']) def course_detail(course_id): message = Message() course = Course.query_by_id(course_id) if not course: abort(404)
if request.method == 'POST':
content = request.form.get('comment')
if content:
Comment.add(course_id=course_id, student_number=session.get('student_number'), content=content)
message.set_ok('评论发布成功')
else:
message.set_error('评论不能为空')
comments = Comment.query_by_course_id(course_id)
teacher = Teacher.query_by_number(course.teacher_number)
record = Record.query_course_with_student(course_id, session.get('student_number'))
return render_template('student/course_detail.html', course=course, message=message, comments=comments,
teacher=teacher, record=record)
@blueprint_student.route('/student/search') def search_course(): keyword = request.args.get('q') if not keyword: return redirect(url_for('student.select_course'))
courses = Course.query_by_keyword(keyword)
return render_template('student/course_list.html', courses=courses)
原文地址: https://www.cveoy.top/t/topic/nZGq 著作权归作者所有。请勿转载和采集!