如何利用MySQL和Python開發(fā)一個(gè)簡單的在線課程管理系統(tǒng)
隨著在線教育的快速發(fā)展,課程管理系統(tǒng)在教育領(lǐng)域扮演著重要的角色。本文將介紹如何利用MySQL和Python開發(fā)一個(gè)簡單的在線課程管理系統(tǒng),并提供一些代碼示例。
一、項(xiàng)目概述
在線課程管理系統(tǒng)可以實(shí)現(xiàn)學(xué)生選課、教師管理課程、查看課程信息等功能。本項(xiàng)目的目標(biāo)是建立一個(gè)能夠滿足基本需求的在線課程管理系統(tǒng)。
二、環(huán)境準(zhǔn)備
- 安裝MySQL數(shù)據(jù)庫,并創(chuàng)建一個(gè)名為course_management的數(shù)據(jù)庫。安裝Python,并安裝pymysql和flask庫。
pip install pymysql
pip install flask
三、數(shù)據(jù)庫設(shè)計(jì)
在MySQL數(shù)據(jù)庫中創(chuàng)建以下兩張表格:
- 學(xué)生表(student)
字段:學(xué)生ID(id)、姓名(name)、年級(jí)(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ù)制
六、啟動(dòng)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ù)制
以上是一個(gè)簡單的在線課程管理系統(tǒng)的開發(fā)示例,通過MySQL存儲(chǔ)數(shù)據(jù),并通過Python和Flask搭建Web服務(wù)器。通過這個(gè)簡單的系統(tǒng),學(xué)生可以選課,教師可以新增課程,實(shí)現(xiàn)了基本的課程管理功能。開發(fā)者可以根據(jù)需求進(jìn)行擴(kuò)展和優(yōu)化。
以上就是如何利用MySQL和Python開發(fā)一個(gè)簡單的在線課程管理系統(tǒng)的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注www.92cms.cn其它相關(guān)文章!






