Django+xadmin打造在线教育平台(一)zhangderek

学习自慕课网-使用python3.x与Django2.0.1开发的在线教育平台

开发环境:

python:3.6.4

Django:2.0.2

后台管理:xadmin

系统概括:

创建工程

django-adminstartprojectMxOnline然后开始项目的开发

项目的开发都是从models设计开始,后台的管理和前端的渲染无非就是对数据库的增删改查,所以models设计的好坏对整个项目的开发起着至关重要的因素。

下面是我画的图,可以很直观的看出来我们需要的models。

放大显示:

创建四个app

pythonmanage.pystartappuserspythonmanage.pystartappcoursepythonmanage.pystartapporganizationpythonmanage.pystartappoperation然后分别设计每个app的models

自定义userProfile

系统自动生成的user表如下:

users/models.py添加代码:

#users/models.pyfromdjango.dbimportmodelsfromdjango.contrib.auth.modelsimportAbstractUserclassUserProfile(AbstractUser):gender_choices=(('male','男'),('female','女'))nick_name=models.CharField('昵称',max_length=50,default='')birthday=models.DateField('生日',null=True,blank=True)gender=models.CharField('性别',max_length=10,choices=gender_choices,default='female')adress=models.CharField('地址',max_length=100,default='')mobile=models.CharField('手机号',max_length=11,null=True,blank=True)image=models.ImageField(upload_to='image/%Y%m',default='image/default.png',max_length=100)classMeta:verbose_name='用户信息'verbose_name_plural=verbose_namedef__str__(self):returnself.username然后做下面的一些设置

因为Image字段需要用到pillow所以需要安装该库

pipinstallpillow注册app

INSTALLED_APPS=['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','users']重载AUTH_USER_MODEL

AUTH_USER_MODEL='users.UserProfile'设计数据库为Mysql

#DATABASES={#'default':{#'ENGINE':'django.db.backends.sqlite3',#'NAME':os.path.join(BASE_DIR,'db.sqlite3'),#}#}DATABASES={'default':{'ENGINE':'django.db.backends.mysql','NAME':'mxonline',#数据库名字'USER':'root',#账号'PASSWORD':'123456',#密码'HOST':'127.0.0.1',#IP'PORT':'3306',#端口}}init.py里面导入pymysql模块

#user/__init__.pyimportpymysqlpymysql.install_as_MySQLdb()迁移数据库

pythonmanage.pymakemigrationspythonmanage.pymigrateuser中还需要添加的表(这些功能比较独立):

EmailVerifyRecord验证码

代码如下:

image上传到哪里

url是图片的路径

index控制轮播图的播放顺序

这样users的三张表就创建完了

写代码要根据PEP8规范

每个class之间要空两格

课程app中需要四张表

(1)Course课程表

(1)CourseOrg

classCourseOrg(models.Model):name=models.CharField('机构名称',max_length=50)desc=models.TextField('机构描述')click_nums=models.IntegerField('点击数',default=0)fav_nums=models.IntegerField('收藏数',default=0)image=models.ImageField('封面图',upload_to='org/%Y%m',max_length=100)address=models.CharField('机构地址',max_length=150,)city=models.ForeignKey(CityDict,verbose_name='所在城市',on_delete=models.CASCADE)add_time=models.DateTimeField(default=datetime.now)classMeta:verbose_name='课程机构'verbose_name_plural=verbose_name(2)CityDict

classCityDict(models.Model):name=models.CharField('城市',max_length=20)desc=models.CharField('描述',max_length=200)add_time=models.DateTimeField(default=datetime.now)classMeta:verbose_name='城市'verbose_name_plural=verbose_name(3)Teacher

classTeacher(models.Model):org=models.ForeignKey(CourseOrg,verbose_name='所属机构',on_delete=models.CASCADE)name=models.CharField('教师名',max_length=50)work_years=models.IntegerField('工作年限',default=0)work_company=models.CharField('就职公司',max_length=50)work_position=models.CharField('公司职位',max_length=50)points=models.CharField('教学特点',max_length=50)click_nums=models.IntegerField('点击数',default=0)fav_nums=models.IntegerField('收藏数',default=0)add_time=models.DateTimeField(default=datetime.now)classMeta:verbose_name='教师'verbose_name_plural=verbose_namedef__str__(self):return"[{0}]的教师:{1}".format(self.org,self.name)2.4.operation总共五张表

(1)UserAsk

user字段,默认0代表消息是发给所有用户,而不是某个单独的用户;可以通过user.id发给特定用户消息

INSTALLED_APPS=['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','users','course','organization','operation',]迁移到数据库

pythonmanage.pymakemigrationspythonmanage.pymigrate2.5.把四个app放到一个文件夹创建package:apps

把之前的四个app全部剪切到apps包里面

不要选“Searchforreferences”

去掉searchfor的勾选。拖进去之后会报错,说找不到那些import的模块了。

解决方案:右键Mark为sourceRoot。根目录下找不到的,会去apps下搜索。

THE END
1.在线教育图片素材在线教育图片大全摄图网汇聚在线教育图片大全:在线教育素材、在线教育高清图片、在线教育背景图片等。你可以找在线教育设计灵感、摄影创意,我们欢迎您下载在线教育vrf正版授权图片,商用无压力https://m.699pic.com/image/zaixianjiaoyu.html
2.在线教育素材在线教育素材图片在线制作在线教育图片Fotor懒设计提供海量的在线教育素材、在线教育素材图片、在线教育图片,选择喜欢的在线教育素材,修改文字、图片等,1分钟即可在线快速生成在线教育图片和在线制作在线教育图片。https://www.fotor.com.cn/zhuanti/jiaoyu_zaixianjiaoyu
3.中国教育在线“作为中国教育的联结者和赋能者,中国教育在线致力于成为推动中国教育前行的力量。多年来,中国教育在线专注教育领域,坚持满足各类教育需求,对接国内外2000余所高校、3000余所高中,覆盖全国30余个省市,发布各类权威的招考、就业、辅导等权威的教育信息,专注于为国内外https://www.eol.cn/
4.在线教育教育图片在线教育教育图片素材免费下载千库网为设计者提供在线教育教育素材大全,为您省却在线教育教育图片素材搜索时间,这里有海量在线教育教育素材图片供您下载使用,本次搜索千库网为您找到10000张素材https://588ku.com/image/zaixianjiaoyujiaoyu.html
5.首页银行业专业人员在线教育系统是由ATA公司提供服务的,针对银行从业人员和准从业人员、金融知识爱好者的培训学习系统。http://ucollege.china-cbi.net/
6.在线教育系统框架图片虽然在线教育与线上教育在某种程度上各有各的优势所在,但随着人工智能这样的科技手段越来越多地应用于在线教育领域,在线教育的教学体验和效果也将逐步提升,在完成线下教育大部分功能的同时,在更多方面提供优于线下教育的体验。 想要知道更多在线教育行业的新鲜资讯,欢迎持续关注。https://blog.csdn.net/tuzhi_ltd/article/details/135281452
7.中公照片处理公务员照片在线处理软件【中公照片处理系统】是公考照片在线处理免费修改调整平台!提供公务员照片在线处理、公务员报名照片在线编辑与修改。公考照片在线处理,请上中公照片处理系统。https://pic.offcn.com/
8.在线教育banner图片免费下载UI设计素材大全千图网网页UI频道为您找到31张在线教育banner图片、在线教育banner设计制作素材供你在线下载使用,找在线教育banner相关各类网页UI素材就来千图网。https://www.58pic.com/tupian-ui/zaixianjiaoyubanner.html
9.在线教育公司网站模板专题模板在线教育公司网站模板图片素材下载我图网在线教育公司网站模板专题为您整理了1655个原创高质量在线教育公司网站模板图片素材供您在线下载,PSD/JPG/PNG格式在线教育公司网站模板模板下载、高清在线教育公司网站模板图片大全等,下载图片素材就上我图网。https://so.ooopic.com/sousuo/13355348/
10.在线上课素材在线上课图片在线上课素材图片下载觅知网为您找到256个原创在线上课素材图片,包括在线上课图片,在线上课素材,在线上课海报,在线上课背景,在线上课模板源文件下载服务,包含PSD、PNG、JPG、AI、CDR等格式素材,更多关于在线上课素材、图片、海报、背景、插画、配图、矢量、UI、PS、免抠,模板、艺术字、Phttps://www.51miz.com/so-sucai/5441876.html
11.中学在线教育打卡任务中学生上传的图片可以导出吗?移动版:中学在线教育 热门搜索 沪江在线教育 在线教育付费 高中在线教育平台 口语在线教育 在线教育教师 在线教育学生 在线教育辅导 在线教育代码 一对一在线教育辅导 在线教育频道 相关问题 钉钉培训有人数限制吗? 企业认证信息如何修改? 学校如何进行企业认证? 云课堂如何开通? 教育行业用户案例https://www.dingtalk.com/qidian/help-keyword-148432.html
12.网课上网线上学习图片网课上网线上学习素材学生在线学习矢量插画海报方图 EPS 学生在隔离期间学习 一个小女孩在家里参加网络课程 远程教育在线教育 学生上网课漫画插画元素 PNG 学习网络课程的大学生矢量插画 EPS 在电脑前学习工作的年轻人 远程教育的概念。在线教程和视频课程,研究和毕业,科学和网络研讨会,数字学习,测试和文献说明 EPS 十几岁的女孩在教室里https://www.vcg.com/creative-image/537010741
13.java免费开源在线教育系统在线java开发java 免费开源在线教育系统 在线java开发 前言: 学成在线项目是传智燕青老师研发的JavaEE分布式微服务架构项目,采用SpringCloud框架研发,课程共20天,应广大学员的建议现将整个项目的技术点以问题的形式进行总结,方便大家学习总结。 1 学成在线是个什么样的项目?https://blog.51cto.com/u_16099279/6735784
14.在线教育平台系统在线教育网校系统网校线上教育平台凡科教育,一站式在线教育平台系统搭建和线上教育平台,为教育培训行业提供全面的在线教育系统、在线教育网校系统、网校线上教育平台解决方案,内置在线课程、线上直播、知识付费平台、知识付费系统、营销互动、CRM等线上教育功能,多终端覆盖的在线教育系统,知识付费,助https://edu.fkw.com/
15.教育Logo:图片,在线LOGO生成器教育Logo设计: 各种图片。Logaster - 在线LOGO生成器,免费制作。http://www.logaster.cn/gallery/education-logo/