django+xadmin在线教育平台(一)
大家好,此教程为在慕学网的实战教程Python升级3.6 强力Django+杀手级Xadmin打造在线教育平台的学习笔记,不对望指正!
使用Django+Xadmin打造在线教育平台(Python2,3共用一份教程,未说明的都是相同操作,不同点我会专门指出。):
课程介绍
- 第一章:项目介绍和课程介绍
Django是一个Python中Web开发的主流框架,被许多大型公司使用,如Google,豆瓣,YouTube,知乎,instagram:

创业公司喜欢的web框架。严格按照互联网公司开发流程,写出优雅简练的代码。
循序渐进,细致入微。独立完成完整项目。学习完课程,找份Python web开发工作不在话下。
系统介绍:
- 系统具有完整的用户登录注册以及找回密码功能,拥有完整个人中心。
- 个人中心: 修改头像,修改密码,修改邮箱,可以看到我的课程以及我的收藏。可以删除收藏,我的消息。
- 导航栏: 公开课,授课讲师,授课机构,全局搜索。
- 点击
公开课
--> 课程列表,排序-搜索。热门课程推荐,课程的分页。 - 点击
课程
--> 课程详情页中对课程进行收藏,取消收藏。富文本展示课程内容。 - 点击
开始学习
--> 课程的章节信息,课程的评论信息。课程资源的下载链接。 - 点击
授课讲师
-->授课讲师列表页,对讲师进行人气排序以及分页,右边有讲师排行榜。 - 点击
讲师的详情页面
--> 对讲师进行收藏和分享,以及讲师的全部课程。 - 导航栏: 授课机构有分页,排序筛选功能。
- 机构列表页右侧有快速提交我要学习的表单。
- 点击
机构
--> 左侧:机构首页,机构课程,机构介绍,机构讲师。 - 后台管理系统可以
切换主题
。左侧每一个功能都有列表显示, 增删改查,筛选功能。 - 课程列表页可以对不同字段进行排序。选择多条记录进行删除操作。
- 课程列表页:过滤器->选择字段范围等,搜索,导出csv,xml,json。
- 课程新增页面上传图片,富文本的编辑。时间选择,添加章节,添加课程资源。
- 日志记录:记录后台人员的操作
学完后还可以将本网站改造成电商网站
,在线旅游
等其他网站

开发环境搭建任务
windows下通过pycharm
和virtualenv
搭建开发环境
django基础知识回顾任务
照顾基础薄弱同学: 通过留言板功能回顾django基础知识。

数据库设计和xadmin搭建后台管理系统任务
通过业务分析设计django
的每个app
,设计app
下的model
。设计外键关系
,通过django的migrate
设计生成数据表。
然后将这些model
注册到xadmin
当中。为每个model配置搜索
,过滤字段
,以及列表页的显示字段
。配置xadmin的主题选择
功能。

系统功能模块实现任务
实现所有后台功能 & 面试中经常被提及的web开发知识。
几乎所有的django常用模块:
setting
配置url
配置view
书写model
设计form
和modelform
的使用templates
模板的使用django
常用的内置函数
web系统知识以及网络安全任务
防止一些攻击问题:
- sql注入
- xss攻击
- crsf攻击
这些攻击的原理以及防护措施
xadmin扩展知识
掌握更多可定制功能:
- 权限管理
- 权限配置
- 权限,用户,组之间的关系。
- xadmin常用插件
- 如何自定义xadmin插件
- xadmin的富文本编辑功能
- xadmin的excel导入功能。
还会用到一些开源的django开发库。

不管是想全面学习Django还是想做一个线上教育平台都可以满足要求。学习完Django,我们对于学习其他框架和通过Django搭建我们自己的系统,都会成为很简单的事情。
学习来自慕课网,部分码字来自简书
django+xadmin在线教育平台(一)的更多相关文章
- django+xadmin在线教育平台(五)
3-3 django orm介绍与model设计 上节教程完成后代码(来学习本节前置条件): 对应commit: 留言板前端页面展示.本次内容截止教程3-2结束. 可能现在你还在通过手写sql语句来操 ...
- django+xadmin在线教育平台(四)
3-2 配置表单页面 必要的该说的,该了解的 前置条件: 你已经学习了前面教程.将项目的文件夹目录结构,setting配置等修改完毕与我保持一致. 本节通过Django快速的配置一个留言板页面来学习 ...
- django+xadmin在线教育平台(十)
剩余app model注册 courses注册 新建courses/adminx.py: # encoding: utf-8 __author__ = 'mtianyan' __date__ = '2 ...
- django+xadmin在线教育平台(六)
4-1 使用py3.6和django1.11开发系统前注意事项 直接通过Python3.6和django最新版本来开发我们的系统的一些注意事项. 原版本: Python 2.7 & djang ...
- django+xadmin在线教育平台(十七)
8-1 课程列表 拷贝课程列表页到template目录 创建课程相关的urls.py Mxonline2/urls.py中声明包含到course的url中: # 课程app的url配置 url(r&q ...
- django+xadmin在线教育平台(十六)
7-7 modelform 提交我要学习咨询1 对应表userask form会对字段先做验证,然后保存到数据库中. 可以看到我们的forms和我们的model中有很多内容是一样的.我们如何让代码重复 ...
- django+xadmin在线教育平台(十五)
7-4 课程机构列表页数据展示2 前去html中进行数据填充 mark 可以看到所有城市是通过a标签,当前选中城市为active. mark 之后把下面的写死的城市删除掉. mark 这时 ...
- django+xadmin在线教育平台(十四)
7-1 django templates模板继承1 机构可以筛选类别 机构可以根据所在地区进行分类 右侧我要学习功能: form表单提交 右下:授课机构排名 页面头部与底部为全局头和全局底部. Dja ...
- django+xadmin在线教育平台(十一)
6-1 首页和登录页面的配置 用户访问我们的根目录,我们需要把html文件返回给用户.因此我们第一步把html文件放入template目录. mark 在html中找到首页的html.拷贝到我们的 ...
随机推荐
- python入门之time模块和datetime模块
time模块 时间三种表示:时间戳(秒单位),struct_time(元组,可以分开调用),指定格式(格式化) time.sleep() 等待5秒钟 time.time() 返回时间戳 time.ct ...
- 宋宝华:swappiness=0究竟意味着什么?
http://mp.weixin.qq.com/s/BixMISiPz3sR9FDNfVSJ6w 本文解释swappiness的作用,以及swappiness=0究竟意味着什么. 内存回收 我们都知道 ...
- Lecture--9 Sorting
1/排序算法:冒泡排序bubble sort,插入排序 insertion sort,选择排序 selection sort,快速排序 quick sort,归并排序 merge sort;堆排序 h ...
- Hadoop实战:reduce端实现Join
项目描述 现在假设有两个数据集:气象站数据库和天气记录数据库,并考虑如何合二为一.一个典型的查询是:输出气象站的历史信息,同时各行记录也包含气象站的元数据信息. 气象站和天气记录合并之后的示意图如下所 ...
- <Openssl下hash函数>
hash函数:是不可逆的函数,它的输入可以是任意长度的字节流.它的输出是固定大小的,hash函数的作用就是给你的文件产生一个摘要,它是独一无二的. 例如:y=f(x) x代表输入 y代表输出 输 ...
- MVVM技术 - 的实现 @{}来进行 调用那个 DataBinding方法
new Material Design 支持哭 还有 Data Binding 结束 使用DataBindign 结束 我们很方面的实现 MVVM设计模式 什么是MVVM model 呢. ...
- C 碎片四 流程控制
前面介绍了程序中用到的一些基本要素(常量,变量,运算符,表达式),他们是构成程序的基本成分,下面将介绍C语言中流程控制的三种结构:顺序结构.分支结构.循环结构 一.顺序结构 顺序结构的程序设计是最简单 ...
- [备忘]java 静态块、非静态块、静态函数、构造函数 执行顺序
原文链接:http://liqita.iteye.com/blog/1472717 java中经常有一些静态块,这是用来在生成类之前进行的初始化,无论java还C++语言中的static,都是最先初始 ...
- String与Date转换
public class TimeTraining { public static void changeStr(String str){ str = "137878"; } pu ...
- 消除transition闪屏
消除transition闪屏.css {-webkit-transform-style: preserve-3d;-webkit-backface-visibility: hidden;-webkit ...