如何利用MySQL和Python開發(fā)一個簡單的在線課程管理系統(tǒng)
隨著在線教育的快速發(fā)展,課程管理系統(tǒng)在教育領(lǐng)域扮演著重要的角色。本文將介紹如何利用MySQL和Python開發(fā)一個簡單的在線課程管理系統(tǒng),并提供一些代碼示例。
一、項目概述
在線課程管理系統(tǒng)可以實現(xiàn)學(xué)生選課、教師管理課程、查看課程信息等功能。本項目的目標(biāo)是建立一個能夠滿足基本需求的在線課程管理系統(tǒng)。
二、環(huán)境準(zhǔn)備
- 安裝MySQL數(shù)據(jù)庫,并創(chuàng)建一個名為course_management的數(shù)據(jù)庫。安裝Python,并安裝pymysql和flask庫。
pip install pymysql
pip install flask
三、數(shù)據(jù)庫設(shè)計
在MySQL數(shù)據(jù)庫中創(chuàng)建以下兩張表格:
- 學(xué)生表(student)
字段:學(xué)生ID(id)、姓名(name)、年級(grade)、專業(yè)(major)課程表(course)
字段:課程ID(id)、課程名稱(name)、教師ID(teacher_id)、學(xué)分(credit)
四、Python代碼示例
連接數(shù)據(jù)庫
import pymysql db = pymysql.connect(host="localhost", user="root", password="123456", database="course_management", charset="utf8") cursor = db.cursor()
登錄后復(fù)制
查詢學(xué)生信息
def get_student_info(student_id): sql = "SELECT * FROM student WHERE id = %s" cursor.execute(sql, (student_id,)) result = cursor.fetchone() return result
登錄后復(fù)制
查詢課程信息
def get_course_info(course_id): sql = "SELECT * FROM course WHERE id = %s" cursor.execute(sql, (course_id,)) result = cursor.fetchone() return result
登錄后復(fù)制
學(xué)生選課
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
登錄后復(fù)制
教師新增課程
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
登錄后復(fù)制
六、啟動Web服務(wù)器
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()
登錄后復(fù)制
七、網(wǎng)頁模板(index.html)
<!DOCTYPE html> <html> <head> <title>在線課程管理系統(tǒng)</title> </head> <body> <h2>學(xué)生選課</h2> <form action="/select_course" method="post"> 學(xué)生ID:<input type="text" name="student_id"><br> 課程ID:<input type="text" name="course_id"><br> <input type="submit" value="確認(rèn)選課"> </form> <h2>教師新增課程</h2> <form action="/add_course" method="post"> 課程名稱:<input type="text" name="course_name"><br> 教師ID:<input type="text" name="teacher_id"><br> 學(xué)分:<input type="text" name="credit"><br> <input type="submit" value="確認(rèn)新增"> </form> </body> </html>
登錄后復(fù)制
以上是一個簡單的在線課程管理系統(tǒng)的開發(fā)示例,通過MySQL存儲數(shù)據(jù),并通過Python和Flask搭建Web服務(wù)器。通過這個簡單的系統(tǒng),學(xué)生可以選課,教師可以新增課程,實現(xiàn)了基本的課程管理功能。開發(fā)者可以根據(jù)需求進(jìn)行擴(kuò)展和優(yōu)化。
以上就是如何利用MySQL和Python開發(fā)一個簡單的在線課程管理系統(tǒng)的詳細(xì)內(nèi)容,更多請關(guān)注www.92cms.cn其它相關(guān)文章!