4-1 使用py3.6和django1.11开发系统前注意事项

直接通过Python3.6和django最新版本来开发我们的系统的一些注意事项。

原版本: Python 2.7 & django 1.9.8
现在版本:Python 3.6 & django 1.11

直接从3.6上手,开始工作,而不用做完2.7再转换。

代码几乎100%兼容2.7 & 3.6

虚拟环境问题

Python2.7 与 Python3.x共存并创建虚拟环境。

mkvirtualenv -p C:\...\python.exe mxonline

设计model的时候的__unicode__方法

Python2.7 中:

def __unicode__:
return self.name

Python 3.x中:

def __str__(self):
return self.name

3.x下重载Unicode不会报错,但是会在后台显示有问题。

安装Python的mysql驱动时不能用之前的 MYSQL python

这个网址是windows下python包安装的居家必备良品,建议收藏。

https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python

应该改用Mysqlclient来替换我们的MySQl-python

接口是一样的。所以以后建议直接用Mysqlclient,因为它2, 3版本都有。

通过源码方式安装xadmin时。

Github 搜索 mxonline_resources,将里面的Xadmin放进extras_apps中。
就不用官方的了。

也可以直接使用官方的新版,已经支持了Python3.6

Xadmin安装一定要安装依赖包

django-crispy-forms~=1.6.0
django-import-export>=0.5.1
django-reversion~=2.0.0
django-formtools
future==0.15.2
httplib2==0.9.2
six==1.10.0

使用DjangoUeditor

官方的不支持Python3, 去mxonline_resource目录下载兼容Python3的版本。
放入extras_apps

4-2 django-app 设计

数据库设计

根据app设计 models

数据表生成与修改

授课机构提供讲师录制课程,学员完成在线学习。

  • 全局头部:用户消息 & 个人中心: 没有登录时,就是登录注册
  • 对于公开课,授课讲师,授课机构进行搜索。
  • 轮播图,课程,机构,页脚
  • 公开课:分页公开课,右边热门推荐。
  • 点进课程:课程详情页。详情: 后台富文本。右边是课程机构的介绍。收藏 或学习
  • 章节信息 & 课程资源下载 & 评论
  • 授课讲师: 授课讲师列表页, 讲师排行榜。分页。
  • 点进讲师: 看到课程。
  • 授课机构: 类别筛选,机构性质,所在地区 & 排序。用户提交表单,我要学习, 机构排名.
  • 个人中心: 修改密码, 修改头像, 个人信息, 我的课程, 我的收藏, 我的消息。

app大致会有用户模块,课程模块,授课教师授课机构

 
mark

多一个operation app 是因为数据库的需要。后面会讲。

原文学习来自简书,作者:天涯明月笙
原文链接:https://www.jianshu.com/p/17c7cb4eeca1

django+xadmin在线教育平台(六)的更多相关文章

  1. django+xadmin在线教育平台(一)

    大家好,此教程为在慕学网的实战教程Python升级3.6 强力Django+杀手级Xadmin打造在线教育平台的学习笔记,不对望指正! 使用Django+Xadmin打造在线教育平台(Python2, ...

  2. django+xadmin在线教育平台(五)

    3-3 django orm介绍与model设计 上节教程完成后代码(来学习本节前置条件): 对应commit: 留言板前端页面展示.本次内容截止教程3-2结束. 可能现在你还在通过手写sql语句来操 ...

  3. django+xadmin在线教育平台(四)

    3-2 配置表单页面 必要的该说的,该了解的 前置条件: 你已经学习了前面教程.将项目的文件夹目录结构,setting配置等修改完毕与我保持一致. 本节通过Django快速的配置一个留言板页面来学习 ...

  4. django+xadmin在线教育平台(十)

    剩余app model注册 courses注册 新建courses/adminx.py: # encoding: utf-8 __author__ = 'mtianyan' __date__ = '2 ...

  5. django+xadmin在线教育平台(十六)

    7-7 modelform 提交我要学习咨询1 对应表userask form会对字段先做验证,然后保存到数据库中. 可以看到我们的forms和我们的model中有很多内容是一样的.我们如何让代码重复 ...

  6. django+xadmin在线教育平台(十七)

    8-1 课程列表 拷贝课程列表页到template目录 创建课程相关的urls.py Mxonline2/urls.py中声明包含到course的url中: # 课程app的url配置 url(r&q ...

  7. django+xadmin在线教育平台(十五)

    7-4 课程机构列表页数据展示2 前去html中进行数据填充   mark 可以看到所有城市是通过a标签,当前选中城市为active.   mark 之后把下面的写死的城市删除掉.   mark 这时 ...

  8. django+xadmin在线教育平台(十四)

    7-1 django templates模板继承1 机构可以筛选类别 机构可以根据所在地区进行分类 右侧我要学习功能: form表单提交 右下:授课机构排名 页面头部与底部为全局头和全局底部. Dja ...

  9. django+xadmin在线教育平台(十一)

    6-1 首页和登录页面的配置 用户访问我们的根目录,我们需要把html文件返回给用户.因此我们第一步把html文件放入template目录.   mark 在html中找到首页的html.拷贝到我们的 ...

随机推荐

  1. echart与Accelerometer综合

    首先是x,y,z轴的加速度统计,利用四个数组记录,并长度为偶数时生成图表 var x=[]; var y=[]; var z=[]; var t=[]; document.addEventListen ...

  2. Codeforces Round #129 (Div. 2) C

    Description The Little Elephant very much loves sums on intervals. This time he has a pair of intege ...

  3. docker jvm 占用高的问题定位

    定位流程 先使用一些轻便的工具查看总体情况, 如果情况糟糕, 再使用重量级的工具 jstack       查看线程数是否过多 jstat -gc -gcutil 查看gc次数和时间是否过多, 各个分 ...

  4. 修改apk里面的源码

    1.解压apk文件,获取classes.dex并拷贝到资源根目录(使用zip或其他解压工具即可) 2.使用baksmali工具将classes.dex转为smali文件,在命令行定位到资源根目录并执行 ...

  5. linux目录权限

    linux中,有三种不同类型的用户可以对文件或目录进行访问:文件所有者,同组用户,其他用户.所有者一般是文件的创建者,文件所有者自动拥有对该文件的读.写和可执行权限.所有者能允许同组用户有权访问文件, ...

  6. Fence Repair (二叉树求解)(优先队列,先取出小的)

    题目链接:http://poj.org/problem?id=3253 Fence Repair Time Limit: 2000MS   Memory Limit: 65536K Total Sub ...

  7. Python 的execfile用法

    可以直接执行脚本 而import是将脚本导入另一个文件里,可以看 http://docs.python.org/2/library/functions.html 例如一个Python文件 a.py: ...

  8. Storm概念学习系列之storm核心组件

    不多说,直接上干货! Storm核心组件 了解 Storm 的核心组件对于理解 Storm 原理非常重要,下面介绍 Storm 的整体,然后介绍 Storm 的核心. Storm 集群由一个主节点和多 ...

  9. Spring cloud Eureka 服务治理(注册服务提供者)

    搭建完成服务注册中心,下一步可以创建服务提供者并向注册中心注册服务. 接下来我们创建Spring Boot 应用将其加入Eureka服务治理体系中去. 直接使用签名章节创建hello服务项目改造: 1 ...

  10. Android compress 压缩 会不会失真

    微信的缩略图要求是不大于32k,这就需要对我的图片进行压缩.试了几种方法,一一道来. 代码如下 ByteArrayOutputStream baos = new ByteArrayOutputStre ...