!!!!!!!!!
选题不知道怎么选 不清楚自己适合做哪块内容 都可以免费来问我 避免后期給自己答辩找麻烦 增加难度(部分学校只有一次答辩机会 没弄好就延迟毕业了)
会持续一直更新下去 有问必答 一键收藏关注不迷路
源码获取:https://pan.baidu.com/s/1aRpOv3f2sdtVYOogQjb8jg?pwd=jf1d 提取码: jf1d
!!!!!!!!!
项目介绍
随着在线教育的兴起和数据驱动学习的需求增加,一个功能全面、用户友好的基于Python平台的可视化学习系统应运而生。该系统旨在提供学习进度跟踪、知识点分析以及个性化学习路径推荐等服务,同时帮助学生和教育工作者做出更加明智的教育决策。通过本项目的实施,目标是解决传统教育数据分析中存在的数据分散、信息不透明等问题,满足广大用户对于高效、精准学习信息服务的需求。
核心功能模块:
- 个人账户管理:支持学生和教师注册、登录与个人信息编辑;提供密码找回及账号安全保护措施。
- 学习数据采集:利用Python脚本从学习管理系统(如Moodle、Canvas)或API自动抓取并整合相关课程信息、成绩记录、学习行为数据等内容。
- 实时学习动态监控:展示不同课程、不同学生的学习进度排行;支持自定义筛选条件快速定位感兴趣课程或学生。
- 历史数据对比:允许查看特定时间段内某一课程或学生的学习记录及其变化情况;生成折线图等形式直观呈现学习趋势。
- 知识点掌握分析:运用统计学方法探究影响学习效果的主要因素包括但不限于学习时间、资源利用率、互动频率等;通过相关性检验确定各变量间的关系强度。
- 未来趋势预测:基于历史数据建立数学模型对未来一段时间内的学习趋势变化方向做出合理推测;给出乐观/悲观情景下的预期值范围供参考。
- 个性化学习推荐:根据学生的学习历史和偏好,使用机器学习算法为学生推荐可能感兴趣的课程或学习资源。
- 定制化报告生成:根据用户需求输出包含详细图表说明的专业级文档供下载打印保存;便于向第三方展示研究成果或者作为内部存档使用。
- 社区互动交流:设立论坛版块鼓励业内人士分享心得体会讨论热点话题;定期邀请行业专家举办线上讲座传授实用技巧知识。
技术栈
1.运行环境:python3.7/python3.7
2.IDE环境:pycharm+mysql8.0;
3.数据库工具:Navicat15
技术栈
后端:python+django
前端:vue+CSS+JavaScript+jQuery+elementui
项目截图
核心代码
# coding:utf-8
# author:ila
import click,py_compile,os
from configparser import ConfigParser
from configs import configs
from utils.mysqlinit import Create_Mysql
from api import create_app
from api.exts import db
from api.models.user_model import *
from api.models.config_model import *
from api.models.brush_model import *
@click.group()
def sub():
pass
@click.command()
@click.option("-v", default=0.1, type=float)
def verr(v):
# VERSION = 0.1
click.echo("py sub system version:{}".format(v))
@click.command()
def run():
app = create_app(configs)
app.debug = configs['defaultConfig'].DEBUG
app.run(
host=configs['defaultConfig'].HOST,
port=configs['defaultConfig'].PORT,
threaded=configs['defaultConfig'].threaded,
processes=configs['defaultConfig'].processes
)
@click.command()
def create_all():
app = create_app(configs)
with app.app_context():
print("creat_all")
db.create_all()
@click.command()
@click.option("--ini", type=str)
def initsql(ini):
cp = ConfigParser()
cp.read(ini)
sqltype = cp.get("sql", "type")
database= cp.get("sql", "db")
if sqltype == 'mysql':
cm = Create_Mysql(ini)
cm.create_db("CREATE DATABASE IF NOT EXISTS `{}` /*!40100 DEFAULT CHARACTER SET utf8 */ ;".format(database))
with open("./db/mysql.sql", encoding="utf8") as f:
createsql = f.read()
createsql = "DROP TABLE" + createsql.split('DROP TABLE', 1)[-1]
cm.create_tables(createsql.split(';')[:-1])
cm.conn_close()
elif sqltype == 'mssql':
cm = Create_Mysql(ini)
cm.create_db("CREATE DATABASE IF NOT EXISTS `{}` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;".format(database))
with open("./db/mssql.sql", encoding="utf8") as f:
createsql = f.read()
createsql = "DROP TABLE" + createsql.split('DROP TABLE', 1)[-1]
cm.create_tables(createsql.split(';')[:-1])
cm.conn_close()
else:
print('请修改当前面目录下的config.ini文件')
@click.command()
@click.option("--py_path", type=str)
def compile(py_path):
print("py_path====>",py_path)
py_compile.compile(py_path)
@click.command()
def replace_admin():
filePath=os.path.join(os.getcwd(),"api/templates/front/index.html")
if os.path.isfile(filePath):
print(filePath)
with open(filePath,"r",encoding="utf-8") as f:
datas=f.read()
datas=datas.replace('baseurl+"admin/dist/index.html#"','"http://localhost:8080/admin"')
datas=datas.replace('baseurl+"admin/dist/index.html#/login"','"http://localhost:8080/admin"')
with open(filePath,"w",encoding="utf-8") as f:
f.write(datas)
sub.add_command(verr)
sub.add_command(run,"run")
sub.add_command(create_all,"create_all")
sub.add_command(initsql,"initsql")
sub.add_command(replace_admin,"replace_admin")
if __name__ == "__main__":
sub()
获取源码
!!!!!!!!!
源码获取:https://pan.baidu.com/s/1aRpOv3f2sdtVYOogQjb8jg?pwd=jf1d 提取码: jf1d
!!!!!!!!!