如何利用MySQL和Python開發一個簡單的在線課程管理系統
隨著在線教育的快速發展,課程管理系統在教育領域扮演著重要的角色。本文將介紹如何利用MySQL和Python開發一個簡單的在線課程管理系統,并提供一些代碼示例。
一、項目概述
在線課程管理系統可以實現學生選課、教師管理課程、查看課程信息等功能。本項目的目標是建立一個能夠滿足基本需求的在線課程管理系統。
二、環境準備
- 安裝MySQL數據庫,并創建一個名為course_management的數據庫。安裝Python,并安裝pymysql和flask庫。
pip install pymysql
pip install flask
三、數據庫設計
在MySQL數據庫中創建以下兩張表格:
- 學生表(student)
字段:學生ID(id)、姓名(name)、年級(grade)、專業(major)課程表(course)
字段:課程ID(id)、課程名稱(name)、教師ID(teacher_id)、學分(credit)
四、Python代碼示例
連接數據庫
import pymysql db = pymysql.connect(host="localhost", user="root", password="123456", database="course_management", charset="utf8") cursor = db.cursor()
登錄后復制
查詢學生信息
def get_student_info(student_id): sql = "SELECT * FROM student WHERE id = %s" cursor.execute(sql, (student_id,)) result = cursor.fetchone() return result
登錄后復制
查詢課程信息
def get_course_info(course_id): sql = "SELECT * FROM course WHERE id = %s" cursor.execute(sql, (course_id,)) result = cursor.fetchone() return result
登錄后復制
學生選課
def select_course(student_id, course_id): sql = "INSERT INTO selected_course (student_id, course_id) VALUES (%s, %s)" try: cursor.execute(sql, (student_id, course_id)) db.commit() return True except Exception as e: db.rollback() return False
登錄后復制
教師新增課程
def add_course(course_name, teacher_id, credit): sql = "INSERT INTO course (name, teacher_id, credit) VALUES (%s, %s, %s)" try: cursor.execute(sql, (course_name, teacher_id, credit)) db.commit() return True except Exception as e: db.rollback() return False
登錄后復制
六、啟動Web服務器
from flask import Flask, request, render_template app = Flask(__name__) @app.route('/') def index(): return render_template('index.html') @app.route('/select_course', methods=['POST']) def select_course(): student_id = request.form.get('student_id') course_id = request.form.get('course_id') if select_course(student_id, course_id): return '選課成功' else: return '選課失敗' @app.route('/add_course', methods=['POST']) def add_course(): course_name = request.form.get('course_name') teacher_id = request.form.get('teacher_id') credit = request.form.get('credit') if add_course(course_name, teacher_id, credit): return '新增課程成功' else: return '新增課程失敗' if __name__ == '__main__': app.run()
登錄后復制
七、網頁模板(index.html)
<!DOCTYPE html> <html> <head> <title>在線課程管理系統</title> </head> <body> <h2>學生選課</h2> <form action="/select_course" method="post"> 學生ID:<input type="text" name="student_id"><br> 課程ID:<input type="text" name="course_id"><br> <input type="submit" value="確認選課"> </form> <h2>教師新增課程</h2> <form action="/add_course" method="post"> 課程名稱:<input type="text" name="course_name"><br> 教師ID:<input type="text" name="teacher_id"><br> 學分:<input type="text" name="credit"><br> <input type="submit" value="確認新增"> </form> </body> </html>
登錄后復制
以上是一個簡單的在線課程管理系統的開發示例,通過MySQL存儲數據,并通過Python和Flask搭建Web服務器。通過這個簡單的系統,學生可以選課,教師可以新增課程,實現了基本的課程管理功能。開發者可以根據需求進行擴展和優化。
以上就是如何利用MySQL和Python開發一個簡單的在線課程管理系統的詳細內容,更多請關注www.92cms.cn其它相關文章!