实战(Chapter1):django实现在线教育平台之数据设计

一.前言

前面系统性地讲解了django的基本知识,也实现了一个简单的博客项目,虽然讲解的不是很详细,但是基本上所有的重点知识都有讲解,从本节开始,我们以一个实战项目来具体讲解django的应用,一些细节的知识点也会在项目中讲解。

二.准备工作

首先,我们需要明确需求,我们需要做的是一个在线教育平台,参考现在腾讯课堂、慕课网、英练帮等在线教育平台,我们这个平台主要包含用户、课程、机构三部分。用户主要指的是学生,包含学生的基本信息、购买信息等;课程包含课时、素材、资源等;机构主要包括机构的基本信息、机构下的老师信息等。基本结构图如下:


结构图.png

三.数据结构设计

基于上面对产品需求的描述,我们将用户信息设计如下:


用户信息.png

主要包含基本信息、邮箱验证、轮播图三张表。

课程信息.png
机构信息.png
操作信息.png

我们发现,所有的表中均没有id字端,这个是因为django会默认增加一个primary key字端,即pk,这个不需要我们手动添加。

另外,有些表中关联的有user、course等字端,其实这里不是string型,均是外键,这个在之后的代码中会有体现。

基于上面的数据结构的设计,我们需要建很多张表,django默认使用的是sqlite的,现在这样一个大型的项目,使用sqlite显然不合适,所以我们需要配置mysql的使用环境。
mac上mysql的安装网上有详细的教程,可以参考http://www.jb51.net/article/103841.htm
再此不再赘述。
下一节,我们开始创建应用并实现model。

推荐阅读更多精彩内容