使用python库relate搭建LMS学习管理系统

article/2025/10/5 5:32:38

 

Relate is an Environment for Learning And TEaching

Relate是在 Django上面构建的,可以快速搭建LMS系统,该系统可以方便学习管理和在线课程的发放;

由于最近弄了一个python的课程,所以自己动手测试了以下这个框架

 

Relate本身包含了后台管理系统,按照官方文档的配置安装就可以启动这个后台管理系统

 

relate本身是基于YAML和MARKDOWN来进行书写和组织课程相关的材料和测试的。

这些语言可以通过pandoc转换成 其它格式

relate可以渲染 jupyter notebook同时可以嵌入视频

 

relate本身作为一个服务器和课程开发是分开的,课程开发是一个git的repo,然后只要告诉relate从哪里寻找就好了

这里说一下应用relate创建的课程示例的步骤:

1. 按照指示安装启动服务:

https://documen.tician.de/relate/misc.html

 

这里不要忘了执行 npm install 这个命令哦

 

2. 在启动服务器的时候会让输入邮箱和密码

3. 在浏览器打开本地8000端口,就可以访问到web应用,登录的时候采用用户名和密码;其中用户名是计算机的用户名,密码是2中设置的密码

4. 尝试修该local_settings.py,其中重要的部分说明如下:

 

# {{{ database and site

SECRET_KEY = 'xxx'ALLOWED_HOSTS = ["relate.example.com","127.0.0.1",]

 

EMAIL_HOST = 'smtp.whu.edu.cn'
EMAIL_HOST_USER = 'xxx@whu.edu.cn'
EMAIL_HOST_PASSWORD = 'xxxxx'
EMAIL_PORT = 25
EMAIL_USE_TLS = True  # definitely true here
ROBOT_EMAIL_FROM = "xxxx@whu.edu.cn"
RELATE_ADMIN_EMAIL_LOCALE = "en_US"SERVER_EMAIL = ROBOT_EMAIL_FROM# ADMINS = (
#     ("Example Admin", "admin@example.com"),
#     )
ADMINS = (("xxxx@qq.com", ),)

要注意自己的邮箱服务要开启smtp服务~

relate会通过登录这个邮箱,然后发一个链接给想要登录的用户(如果这个用户想用邮箱登录的话,这个用户主可以是学生或者管理员),用户打开自己的邮箱,看到链接并点击进入,这个用户就可以访问这个系统了。

# {{{ sign-in methods

RELATE_SIGN_IN_BY_EMAIL_ENABLED = True
RELATE_SIGN_IN_BY_USERNAME_ENABLED = True
RELATE_REGISTRATION_ENABLED = True
RELATE_SIGN_IN_BY_EXAM_TICKETS_ENABLED = True

 

LANGUAGE_CODE = 'zh-Hans'

 

这里配置中文显示,注意的是,这里要首先安装,再配置哦,安装的方法在文档里有详细的说明的

5. 使用管理系统创建课程

 

这里的课程样例在这里

https://github.com/inducer/relate-sample

 

可以看到这里面所有的文件基本都是YAML格式的

要创建课程并不需要在本地上下载这个repo,需要置顶git的地址就可以,relate会将其存储到某个位置(该位置在配置文件里面进行配置)

 

 ,点击设置新课程

 

 

 

按照说明进行设置就可以了。

 

设置完之后,再访问页面就可以看到课程的连接了,可以点进去看一看,这个时候在另一个浏览器里可以用新的邮箱申请登录哦。

 

6. 访问和参加课程

访问的话需要登录,登录可以使用邮件,然后relate会给邮件发一个链接,点击链接就可以登录的

要参加课程需要一定的权限。需要在后台进行操作

 

在站点管理里面找到课程模块下面的课程参与点进去 

,然后在这里增加可以参加该课程的用户就可以了:

 

 

 

到这里,基本就可以实现了用户登录,参与课程的审核,以及添加课程和访问课程,还有课程管理等功能

 

最后就安心的根绝 relate制定的规则开发自己的课程就好了

,这里的课程和莫烦的博客其实有很大的差别,首先它不是公开的,其次里面增加了很多管理上的东西。

在开放课程的时候可以使用博客,这样可以专注课程核心内容的开发。

 

在运营和管理课程的时候才需要lms系统,总的来说,这个系统有以下功能值得尝试使用:

1. 在特定的时间制定相应的课程和课件

2. 可以实现访问控制

3. 可以对学生的作业进行统一管理和评估

4. 包含课程日历,比如课表信息

5. 可以包含pdf课件以及相应的链接

 

转载于:https://www.cnblogs.com/wybert/p/11580793.html


http://chatgpt.dhexx.cn/article/JPHM736x.shtml

相关文章

关于学习管理系统 LMS

一、先了解SCORM是什么: 共享内容对象参考模型(Sharable Content Object Reference Model)是由美国国防部"高级分布式学习"(Advanced Distributed Learning,以下简称ADL)组织所拟定的标准&#x…

LearnDash:可用的最通用的在线教育系统和LMS学习管理系统

在电子学习行业,大多数学习管理系统都提供了创建具有竞争力的教育网站的基本特性和功能。 LearnDash、 Teachable、Moodle、Thinkific 和 Blackboard 是一些已经声名远扬的玩家。 对于任何想要开始和发展在线学习业务和在线教育平台的人来说,您都需要从长…

[Python从零到壹] 十五.文本挖掘之数据预处理、Jieba工具和文本聚类万字详解

欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界。所有文章都将结合案例、代码和作者的经验讲解,真心想把自己近十年的编程经验分享给大家,希望…

文本数据分析的作用是什么?文本数据分析可采用哪些方法?

文本数据分析的作用: 文本数据分析能够有效帮助我们理解数据语料, 快速检查出语料可能存在的问题, 并指导之后模型训练过程中一些超参数的选择. 常用的几种文本数据分析方法: 标签数量分布句子长度分布词频统计与关键词词云 我们将基于真实的中文酒店评论语料来讲解常用的几…

文本数据处理

文本数据处理 文本数据处理常见任务 文本分类 文本分类是按照一定的分类体系,将文档判别为预定的若干类中的某一类或某几类。信息检索 指将信息(此处指代文本)按一定的方式组织起来,根据用户的需求将相关信息查找出来信息抽取 将…

一文看懂什么是文本挖掘

一、什么是文本挖掘 文本挖掘指的是从文本数据中获取有价值的信息和知识,它是数据挖掘中的一种方法。文本挖掘中最重要最基本的应用是实现文本的分类和聚类,前者是有监督的挖掘算法,后者是无监督的挖掘算法。 文本挖掘是一个多学科混杂的领…

【文本挖掘】关键词提取

统计关键词前20位 数据集如下: 地址: https://github.com/Algernon98/github-store/tree/main/data./text./genshin. from gensim import corpora, models import config import jieba import jieba.analyse import train from codecs import openstop…

文本挖掘系列之文本信息抽取

文本数据挖掘的定义 文本数据挖掘是一种利用计算机处理技术从文本数据中抽取有价值的信息和知识的应用驱动型学科。文本数据挖掘处理的数据类型是文本数据,属于数据挖据的一个分支,与机器学习、自然语言处理、数理统计等学科具有紧密联系。文本挖掘在很…

数据分析案例-文本挖掘与中文文本的统计分析

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

Python数据挖掘-NLTK文本分析+jieba中文文本挖掘

一、NLTK介绍及安装 (注:更多资源及软件请W信关注“学娱汇聚门”) 1.1 NLTK安装 NLTK的全称是natural language toolkit,是一套基于python的自然语言处理工具集。 nltk的安装十分便捷,只需要pip就可以。相对Python2…

文本挖掘详解

一、文本挖掘概念 在现实世界中,可获取的大部信息是以文本形式存储在文本数据库中的,由来自各种数据源的大量文档组成,如新闻文档、研究论文、书籍、数字图书馆、电子邮件和Web页面。由于电子形式的文本信息飞速增涨,文本挖掘已经…

什么是文本挖掘 ?

什么是文本挖掘   文本挖掘是抽取有效、新颖、有用、可理解的、散布在文本文件中的有价值知识,并且利用这些知识更好地组织信息的过程。1998年底,国家重点研究发展规划首批实施项目中明确指出,文本挖掘是“图像、语言、自然语言理解与知识…

文本数据分析:文本挖掘还是自然语言处理?

数据分析师Seth Grimes曾指出“80%的商业信息来自非结构化数据,主要是文本数据”,这一表述可能夸大了文本数据在商业数据中的占比,但是文本数据的蕴含的信息价值毋庸置疑。KDnuggets的编辑、机器学习研究者和数据科学家Matthew Mayo就在网站上…

Python数据挖掘-文本挖掘

文本挖掘概要 搞什么的? 从大量文本数据中,抽取出有价值的知识,并且利用这些知识更好的组织信息的过程。 目的是什么? 把文本信息转化为人们可利用的知识。 举例来说,下面的图表利用文本挖掘技术对库克iphoneX 发…

Python数据挖掘——文本分析

一、 一、定义: 文本挖掘:从大量文本数据中抽取出有价值的知识,并且利用这些知识重新组织信息的过程。 二、语料库(Corpus) 语料库是我们要分析的所有文档的集合。 import os import os.pathfilePaths [] #定义…

文本数据挖掘----数据预处理

一、数据预处理简介 1、为什么要进行数据预处理 一开始拿到的数据在数据的质量方面或多或少有一些问题,即在数据的准确性、完整性、一 致性、合时性(实时性)、可信性、解释性等方面可能存在问题,所以需要数据预处理来提高数据 …

文本数据挖掘----初识数据挖掘

一、数据挖掘的内容 1、关联规则挖掘 (1)关联规则挖掘工作内容 关联规则挖掘是指寻找给定数据集中项之间的有趣关联或相关联系(频繁出现的项集模式知 识);可以帮助许多决策的制定。 2、非监督式机器学习-聚类 &am…

文本数据挖掘(Text Mining)

文本数据挖掘是利用某些方法比如自然语言处理(Natural language processing (NLP))技术把一堆没有结构的数据而处理成有结构的数据的一种人工智能技术,而处理后的这些有结构的数据可以作为机器学习和深度学习模型的输入,也可以直接…

基于Python数据挖掘的文本数据的分类与分析

目录 数据获取 2数据预处理 2建立词典 4生成词向量 6贝叶斯分类器 7SVM 10逻辑回归 12实验总结与反思 14 实验一 文本数据的分类与分析 【实验目的】 1.掌握数据预处理的方法,对训练集数据进行预处理; 2.掌握文本建模的方法,对语料库的文档进…

使用VS2015编译JSBSim

1.说明 最近在研究JSBSim的代码,首先百度了一些JSBSim相关的文档和教程,有一篇《Building_JSBSim_with_Visual_Cpp_2010》讲了如何利用VS2010编译JSBSim,参考这个教程编译完成了一个JSBSim工程。但是这个工程是好多年以前的了,在…