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. django--权限(1)初识

    一.权限表结构设计 1.认识权限 生活中处处有权限,比如,腾讯视频开会员才有观看某个最新电影的权限,你有房间钥匙就有了进入这个房间的权限,等等.同样,程序开发过程中也有权限,我们今天说的权限指的是we ...

  2. ip route,ip rule, iptables和docker的端口映射

    iptables 默认5个表, 不可增加其他表 raw 用于配置数据包,raw 中的数据包不会被系统跟踪. filter 是用于存放所有与防火墙相关操作的默认表. nat 用于 网络地址转换(例如:端 ...

  3. mysql 日期与索引问题

    日期类型可以直接和string格式的字符串比较 select * from xxx where event_time>'2018-06-02' 可以使用索引, mysql默认会把后面的字符串转成 ...

  4. 在SpringBoot中使用Docker(利用dockerfile-maven-plugin插件)

    周末在家做了一个实验: 将Docker通过插件的方式集成到SpringBoot中 然后通过Maven命令根据项目中的Dockerfile自动生成Docker镜像,同时将镜像推送到远程Linux服务器( ...

  5. LeetCode 233 Number of Digit One 某一范围内的整数包含1的数量

    Given an integer n, count the total number of digit 1 appearing in all non-negative integers less th ...

  6. LeetCode 260 Single Number III 数组中除了两个数外,其他的数都出现了两次,找出这两个只出现一次的数

    Given an array of numbers nums, in which exactly two elements appear only once and all the other ele ...

  7. SpringBoot | 第二十二章:定时任务的使用

    前言 上两章节,我们简单的讲解了关于异步调用和异步请求相关知识点.这一章节,我们来讲讲开发过程也是经常会碰见的定时任务.比如每天定时清理无效数据.定时发送短信.定时发送邮件.支付系统中的定时对账等等, ...

  8. 使用URLRewriter实现URL重写

    优点 1)隐藏真实URL,提高安全性 2)更加友好的URL,好记(看博客园就行知道啦) 3)便于搜素引擎收录 ......... 可能的缺点 使用URL重写可能导致: 1)图片路径的问题 2)CSS路 ...

  9. 浅析System.Console.WriteLine()

    浅析System.Console.WriteLine() Writeline()函数的功能向 StreamWriter 类写入指定字符串和一行字符,共有19个重载,其与Write()函数的主要区别在于 ...

  10. 在Magento System Configuration页面添加配置项

    以 Jp_Coupon 模块为例: 目标: 在 System configuration 页面添加一个 JP tab, 在JP中添加 Coupon section, 然后给 Coupon sectio ...