# TeachingSystem **Repository Path**: sic096/teaching-system ## Basic Information - **Project Name**: TeachingSystem - **Description**: 基于Django的教材管理系统,一个使用Django开发的前后端不分离的项目,该项目可以完成奖简单的教材的发布、课程添加等内容,用户身份有教师和学生两种身份 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2024-07-23 - **Last Updated**: 2025-01-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目介绍 该项目主要的内容是一个教材和课程的发布与管理系统,该系统有两种用户身份,一个是教师,另外一种是学生。教师可以完成对学生班级的管理,课程的管理,教材的发布等等。学生用户可以查看自己的课程,教材,教材费用等等信息。 项目亮点: 1. 为了确保安全性,教师用户注册使用邀请码进行注册,邀请码由网站超级管理员在Django的admin后台添加 2. 学生用户注册时使用邮箱验证码校验身份 3. 学生被教师划分班级后,系统会自动给该学生发送邮件提醒学生 主要技术:Django、bootstrap、wangeditor、前后端不分离 # 一、项目准备 ## 1.下载源代码到本地 可以通过git或者zip压缩下载,如果使用zip压缩下载,一定要解压到本地 ## 2. 使用pycharm打开源代码目录 使用pycharm打开源代码目录,并为该项目新建一个本地解释器,在pycharm的设置--项目设置--解释器--右边点击解释器添加新的解释器 等待解释器安装完成之后,在pycharm的终端新建一个终端,注意看终端路径是否为当前项目的目录 ```bash pip install -r .\requirements.txt\ ``` 终端下执行上述代码安装依赖 ## 3.邮箱设置 在项目的seeting文件的最下方,将下面的信息修改成自己的信息: ```python # 邮箱相关配置 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'smtp.qq.com' EMAIL_PORT = 587 EMAIL_USE_TLS = True EMAIL_HOST_USER = '自己的邮箱' EMAIL_HOST_PASSWORD = '秘钥' DEFAULT_FROM_EMAIL = '自己的邮箱' LOGIN_URL = '/stu_login' ``` 以QQ邮箱为例,在邮箱设置--账号栏目下,开启pop3服务后,可以获取自己的授权码 ![image-20240723151323140](基于Django的教材管理系统.assets/image-20240723151323140.png) ## 4.启动项目 该项目是个小型的项目,使用的Django自带的sqllite3,不需要进行数据库的设置,直接点击右上角的启动即可,也可以使用以下命令启动项目: ```bash python manage.py runserver 127.0.0.1:8080 ``` ![image-20240723151634742](基于Django的教材管理系统.assets/image-20240723151634742.png) # 二、项目说明 ## 1.教师身份 点击首页右上方的教师登录和注册按钮可以分别跳转到不同的界面 ![image-20240723160906663](基于Django的教材管理系统.assets/image-20240723160906663.png)![image-20240723160914228](基于Django的教材管理系统.assets/image-20240723160914228.png) 注意,因为教师权限较高,是工作人员,不能够随意注册,所以添加了邀请码的功能,管理员可以在Django自带的后台管理界面http://127.0.0.1:8080/admin/添加邀请码 ![image-20240723161021941](基于Django的教材管理系统.assets/image-20240723161021941.png) 超级管理员的用户名是root,密码是123456 ### 1.1 教师添加班级 ![image-20240723161902138](基于Django的教材管理系统.assets/image-20240723161902138.png) ![image-20240723161923802](基于Django的教材管理系统.assets/image-20240723161923802.png) ### 1.2 教师添加课程 ![image-20240723161956453](基于Django的教材管理系统.assets/image-20240723161956453.png) ### 1.3 教师添加教材 ![image-20240723162014434](基于Django的教材管理系统.assets/image-20240723162014434.png) ### 1.4 教师管理学生 教师将学生添加到班级 ![image-20240723162043038](基于Django的教材管理系统.assets/image-20240723162043038.png) 这里学生列表只会出现那些没有班级的学生 ### 1.5 添加授课 ![image-20240723162120554](基于Django的教材管理系统.assets/image-20240723162120554.png) 其实就是添加课程,课程简介是使用wangeditor创建的富文本编辑器 ![image-20240723162238194](基于Django的教材管理系统.assets/image-20240723162238194.png) ### 1.6 修改信息和密码 用户在自己名字下方展开的栏目中可以点击修改信息前往修改信息界面,在该页面用户可以修改自己的所有的信息 ![image-20240723163305145](基于Django的教材管理系统.assets/image-20240723163305145.png) ## 2.学生身份 同教师身份一样,用户可以在首页右上角点击学生登录和学生注册按钮进入到不同的页面 ### 2.1 学生注册和登录 在学生注册界面,用户可以通过邮箱获取验证码进行注册 ![image-20240723162916076](基于Django的教材管理系统.assets/image-20240723162916076.png) ![image-20240723162954570](基于Django的教材管理系统.assets/image-20240723162954570.png) 注册成功之后会跳转到登录界面,用户可以使用邮箱和密码进行登录 ### 2.2 学生查看课程 用户可以在查看课程界面查看自己已经报名的课程 ![image-20240723163327407](基于Django的教材管理系统.assets/image-20240723163327407.png) 在课程界面用户可以看到每一门课程涉及到的教材,以及教材的总费用 ### 2.3 修改密码 学生用户和教师用户一样,都可以点击自己名字右边的三角箭头打开修改密码栏目进行密码的修改 ![image-20240723163912511](基于Django的教材管理系统.assets/image-20240723163912511.png) 不过学生用户只能修改密码,班级由教师划分,学号由系统生成且唯一 ### 2.4 加入班级 当教师在给学生李李李划分班级后,李李李课程界面会出现该班级对应的课程 ![image-20240723163853623](基于Django的教材管理系统.assets/image-20240723163853623.png) 加入班级前: ![image-20240723163954315](基于Django的教材管理系统.assets/image-20240723163954315.png) 加入班级后: ![image-20240723164013654](基于Django的教材管理系统.assets/image-20240723164013654.png) 同时该用户还会收到一封邮件提醒 ![image-20240723164053971](基于Django的教材管理系统.assets/image-20240723164053971.png) ## 3.课程 ### 3.1 添加课程 课程只能由教师添加 ### 3.2 列表 在首页,渲染出来的是课程列表,用户点击课程名字可以进去查看详情 ![image-20240723164233623](基于Django的教材管理系统.assets/image-20240723164233623.png) ![image-20240723164242905](基于Django的教材管理系统.assets/image-20240723164242905.png) ### 3.3 课程搜索 在首页导航栏中,用户可以输入关键字搜索课程信息 ![image-20240723164320705](基于Django的教材管理系统.assets/image-20240723164320705.png)