在线教育系统Python项目
在本文中,我们将为所有学生建立一个在线教育系统联合学校,他们可以在线学习并获得与知名组织相关的同等学位。许多学校关闭,许多学校在通过任何平台进行在线教学时面临问题。在这个项目中,将为学校和学生提供一个组织良好的在线学习平台,他们可以轻松地管理在线学习。该平台包括从学生在线考试、教师招聘到学生出勤的所有功能。您可以在 unitedschool.herokuapp.com 的链接上查看演示。
项目中使用的工具和技术:
- 网络技术: HTML、CSS
- 数据库: POSTGRES
- 编辑: VSCODE
构建项目所需的技能:
- 前端: HTML、CSS、BOOTSTRAP、JAVASCRIPT。
- 后端: Flask、Postgresql、SqlAlchemy、 Python、AJAX。
分步实施
第 1 步:首先,我们决定了我们想法的整个架构。我们收集了实施该项目所需的所有信息。我们学习了 FLASK 、 SQLAlchemy 等来使项目动态化。
第二步:在确定了整个架构之后,我们开始着手项目的前端工作。首先,我们设计了我们网站的登陆页面。看起来像这样。
下面是导航栏主页的代码片段
HTML
Page Title
UNITED SCHOOL
Python3
@app.route("/",methods=['GET', 'POST'])
def index():
if request.method=='POST':
data=request.form["Message"]
name=request.form["name"]
em=request.form["email"]
phno=request.form["phno"]
send_email(em,name,data,phno)
flash("MESSAGE sUBMITTED TO THE ADMIN WAIT FOR REPLY ON PHONE!!!")
return redirect("/")
else:
subjectExam=db.session.query(Data3).all()
x=db.session.query(announcement.ann).all()
caru=db.session.query(carou).order_by(carou.ids).all()
return render_template("index.html",x=x,a=caru,sub=subjectExam)
Python3
db=SQLAlchemy(app)
class Data(db.Model):
__tablename__="student"
eno=db.Column(db.String(120),primary_key=True, unique=True)
passw=db.Column(db.String(120))
Name=db.Column(db.String(120))
class=db.Column(db.String(120))
ContactNo=db.Column(db.String(120))
Address=db.Column(db.String(120))
Emailid=db.Column(db.String(120))
result=db.Column(db.String(120))
fees=db.Column(db.String(120))
gives = db.relationship('Data3', secondary='sqrel', lazy='dynamic',
backref=db.backref('takenby', lazy='dynamic'))
def __init__(self, eno, passw,Name,class,Contactno,Add,ema,res,fees):
self.eno=eno
self.passw=passw
self.Name=Name
self.class=class
self.ContactNo=Contactno
self.Address=Add
self.Emailid=ema
self.result=res
self.fees =fees
第 3 步:现在我们将使用 Flask 使其成为 webapp 并连接所有 html 页面。我们使用 POSTGRESQL 作为数据库。
第 4 步:现在我们为每个 HTML 页面编写应用程序路由。如下例所示:
Python3
@app.route("/",methods=['GET', 'POST'])
def index():
if request.method=='POST':
data=request.form["Message"]
name=request.form["name"]
em=request.form["email"]
phno=request.form["phno"]
send_email(em,name,data,phno)
flash("MESSAGE sUBMITTED TO THE ADMIN WAIT FOR REPLY ON PHONE!!!")
return redirect("/")
else:
subjectExam=db.session.query(Data3).all()
x=db.session.query(announcement.ann).all()
caru=db.session.query(carou).order_by(carou.ids).all()
return render_template("index.html",x=x,a=caru,sub=subjectExam)
第 5 步:在此之后,我们使用 SQLAlchemy 代码在 POSTGRES 中创建表。下面是创建表 student 的代码片段。
Python3
db=SQLAlchemy(app)
class Data(db.Model):
__tablename__="student"
eno=db.Column(db.String(120),primary_key=True, unique=True)
passw=db.Column(db.String(120))
Name=db.Column(db.String(120))
class=db.Column(db.String(120))
ContactNo=db.Column(db.String(120))
Address=db.Column(db.String(120))
Emailid=db.Column(db.String(120))
result=db.Column(db.String(120))
fees=db.Column(db.String(120))
gives = db.relationship('Data3', secondary='sqrel', lazy='dynamic',
backref=db.backref('takenby', lazy='dynamic'))
def __init__(self, eno, passw,Name,class,Contactno,Add,ema,res,fees):
self.eno=eno
self.passw=passw
self.Name=Name
self.class=class
self.ContactNo=Contactno
self.Address=Add
self.Emailid=ema
self.result=res
self.fees =fees
第 6 步:在此之后,我们实现了考试、学生登录、教师登录、图书馆等功能。在这里,我们实现了一个作弊检测功能,如果一个人作弊,可以通过该功能被抓住。
完整的项目结构如下所示:
输出:
学生视图:学生可以通过管理员提供的邮件登录。他可以使用门户网站提交费用、作业、进行考试、获取结果、下载 PDF 书籍、可以在学生门户网站上发布任何通知。
教师视图:教师可以登录并使用门户网站进行直播课程、评估学生、提供作业、参加考勤。
管理员视图:管理员可以管理学生、教师、新入学申请表、轮播图片、公告等。
第三人称查看:公告栏目、学校信息、学校服务、更多信息咨询管理员,也可申请入学。
演示的输出视频如下所示:
ER图:
现实生活中的项目应用:
它提供了一种有效管理学校教育系统的媒体。它将帮助所有面临在线教学问题的学生和学校,也将帮助从一个地方迁移到另一个地方接受高等教育的人们。在这个项目的帮助下,一个人可以轻松地从他想要的任何地方完成他的学位。此外,该项目将确保在没有任何作弊的情况下参加考试,如果有人作弊,将自动被发现并取消资格。