一:需求分析
- 系统具有完整的用户登录注册以及找回密码功能,拥有完整个人中心。
- 个人中心: 修改头像,修改密码,修改邮箱,可以看到我的课程以及我的收藏。可以删除收藏,我的消息。
- 导航栏: 公开课,授课讲师,授课机构,全局搜索。
- 点击
公开课
–> 课程列表,排序-搜索。热门课程推荐,课程的分页。 - 点击
课程
–> 课程详情页中对课程进行收藏,取消收藏。富文本展示课程内容。 - 点击
开始学习
–> 课程的章节信息,课程的评论信息。课程资源的下载链接。 - 点击
授课讲师
–>授课讲师列表页,对讲师进行人气排序以及分页,右边有讲师排行榜。 - 点击
讲师的详情页面
–> 对讲师进行收藏和分享,以及讲师的全部课程。 - 导航栏: 授课机构有分页,排序筛选功能。
- 机构列表页右侧有快速提交我要学习的表单。
- 点击
机构
–> 左侧:机构首页,机构课程,机构介绍,机构讲师。 - 后台管理系统可以
切换主题
。左侧每一个功能都有列表显示, 增删改查,筛选功能。 - 课程列表页可以对不同字段进行排序。选择多条记录进行删除操作。
- 课程列表页:过滤器->选择字段范围等,搜索,导出csv,xml,json。
- 课程新增页面上传图片,富文本的编辑。时间选择,添加章节,添加课程资源。
- 日志记录:记录后台人员的操作
二:数据库设计
(鼠标移动到图片,右键新窗口打开查看高清大图)
项目的开发都是从models设计开始,后台的管理和前端的渲染无非就是对数据库的增删改查,所以models设计的好坏对整个项目的开发起着至关重要的因素。
三:动手
1.创建项目
(1)命令行方式创建
django-admin startproject MxOnline
(2)使用pycharm创建
2.创建应用
在pycharm打开终端,依次输入以下命令,创建四个APP
python manage.py startapp users
python manage.py startapp course
python manage.py startapp organization
python manage.py startapp operation
3.编写model代码
(1)users 用户
由于Django有自己的一套认证权限系统,当然包括user表了,所以我们只需要在其基础上增加功能即可。
系统自动生成的user表字段如下:
id:主键
password:密码
is_superuser:是否为超级用户(后台管理)
username 用户名字段不要随便改动
email 邮箱
is_staff 表示是否是员工(后台管理)
is_active 用户是否是激活状态
date_joined 注册时间
所以我们只需要继承AbstractUser类