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

大家好,此教程为在慕学网的实战教程Python升级3.6 强力Django+杀手级Xadmin打造在线教育平台的学习笔记,不对望指正! 使用Django+Xadmin打造在线教育平台(Python2,3共用一份教程,未说明的都是相同操作,不同点我会专门指出.): 课程介绍 第一章:项目介绍和课程介绍 Django是一个Python中Web开发的主流框架,被许多大型公司使用,如Google,豆瓣,YouTube,知乎,instagram:   mark 创业公司喜欢的web框架.严格按照互联网公司…
3-3 django orm介绍与model设计 上节教程完成后代码(来学习本节前置条件): 对应commit: 留言板前端页面展示.本次内容截止教程3-2结束. 可能现在你还在通过手写sql语句来操作数据库,当我们有了orm,数据库操作变得很简单.这一小节我们来学习Django中的orm. 原生sql 与 orm 没有orm 的情况下message/views.py代码: import MySQLdb # 使用原生sql获取书的列表 def book_list(request): # 创建到数…
3-2 配置表单页面 必要的该说的,该了解的 前置条件: 你已经学习了前面教程.将项目的文件夹目录结构,setting配置等修改完毕与我保持一致. 本节通过Django快速的配置一个留言板页面来学习 Django从请求到响应的整个完整流程.为我们开发在线教育平台打下基础.   mark 上图便是本节教程所要用到的静态页面: 前往Github下载:form.html 具体的业务:填写信息 -> 然后点击提交 ->数据被存储到数据库. 这个html是一个单文件,里面已经包含了css js内容. 将…
剩余app model注册 courses注册 新建courses/adminx.py: # encoding: utf-8 __author__ = 'mtianyan' __date__ = '2018/1/9 0009 20:10' from .models import Course, Lesson, Video, CourseResource import xadmin # Course的admin管理器 class CourseAdmin(object): list_display…
4-5 user modesl.py设计 循环引用: 设计app时每个app都有model   mark 如图:我们在user中定义usercourse记录用户学习的课程.会有两个外键:user和course. 我们就会import Courses.models 如果用户对课程的评论:会放在 Courses.models当中.评论我们需要保存相应的用户. 我们就会import User.models 循环import会出错.a与b相互调用,造成等待. 解决循环引用: 分层设计 目前已有app:u…
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:\...\…
8-1 课程列表 拷贝课程列表页到template目录 创建课程相关的urls.py Mxonline2/urls.py中声明包含到course的url中: # 课程app的url配置 url(r"^course/", include('courses.urls', namespace="course")), django2.0.1版本: # 课程app的url配置 path("course/", include('courses.urls',…
7-7 modelform 提交我要学习咨询1 对应表userask form会对字段先做验证,然后保存到数据库中. 可以看到我们的forms和我们的model中有很多内容是一样的.我们如何让代码重复利用呢? 使用modelform解决这个问题. # encoding: utf-8 from django import forms from operation.models import UserAsk __author__ = 'mtianyan' __date__ = '2018/1/12…
7-4 课程机构列表页数据展示2 前去html中进行数据填充   mark 可以看到所有城市是通过a标签,当前选中城市为active.   mark 之后把下面的写死的城市删除掉.   mark 这时就是我们在后台添加的数据了   mark 可以看到每个课程机构都是一个dl 同理使用for循环. 如何将imageField转换为图片地址 数据库中img存放的是字符串:相对路径   mark   mark 上图这种取法会取出一个相对地址.   mark 将setting中配置的mediaurl放在…
7-1 django templates模板继承1 机构可以筛选类别 机构可以根据所在地区进行分类 右侧我要学习功能: form表单提交 右下:授课机构排名 页面头部与底部为全局头和全局底部. Django template 共用头部底部机制 将head和foot放在两个html中,然后在写其他需要这两个部分的页面时include进来. Django也是支持include机制的. include的问题 include的进来的死页面,这时候该怎么办? 解决这种问题:进行模板的继承机制.定义一个父类…
6-1 首页和登录页面的配置 用户访问我们的根目录,我们需要把html文件返回给用户.因此我们第一步把html文件放入template目录.   mark 在html中找到首页的html.拷贝到我们的template目录   mark 新建static目录 用来存放css, js等静态文件   mark 配置处理静态文件的url. Django2.0.1版本下: Mxonline3/urls.py: from django.views.generic import TemplateView ur…
django admin介绍 上一章我们进行了需求分析和数据库设计.本章我们来快速搭建一个可用的后台管理系统. 后台管理系统特点: 权限管理 少前端样式.(样式一般不是很看重), 快速开发 django的后台管理系统是一套智能的管理系统. django的杀手锏之一就是admin管理系统. admin在项目新建时就已经为我们生成好了.   mark Django的admin也是一个app,在我们新建项目时就创建好了. 而且会自动在url中配置好了链接.   mark 访问:http://127.0…
6-4 用form实现登录-1 上面我们的用户登录的方法是基于函数来做的.本节我们做一个基于类方法的版本. 要求对类的继承有了解. 基础教程中基本上都是基于函数来做的,其实更推荐基于类来做.基于类可以带来不少好处 # 基于类实现需要继承的view from django.views.generic.base import View class LoginView(View): # 直接调用get方法免去判断 def get(self, request): # render就是渲染html返回用户…
4-3 新建项目 Python2.7 创建虚拟环境. mkvirtualenv mxonline2 安装django pip install django==1.9.8 注意Python2下此处必须用1.9.8   mark Python3.x 创建虚拟环境 如果你已经通过我的博文<Python开发环境搭建指南(Anaconda2,3共存)> 搭建了完美的共存环境使用下面命令创建虚拟环境 mkvirtualenv -p D:\softEnvDown\Anaconda2\envs\py3\pyt…
通过留言版功能回顾django基础知识 将对于django目录结构,使用Django快速搭建可以提交的表单页面,models.py , urls.py, views.py. 从数据库中取出数据展示到html中:Django Template的配置. 即django的基础知识通过这个留言板项目进行一个全面细致的学习. 3-1 django目录结构 django目录: projectname : 保存Django项目的urls,setting,uwsgi文件 如下图新建一个Django项目Djang…
老话总是没错的,工欲善其事,必先利其器 教你安装pycharm,mysql,navicat,python相关环境. windows下搭建开发环境 2-1 pycharm,mysql,Navicat安装. 环境搭建: pycharm (我:PyCharm 2017.3.2) mysql for windows(mysql-installer-community-5.7.20) navicat for mysql(我:Navicat Premium) python2.7 提醒:记住自己设置的mysq…
这个6-8对应对应6-11,6-12 拷入forgetpassword页面 书写处理忘记密码的view users/views.py # 用户忘记密码的处理view class ForgetPwdView(View): # get方法直接返回页面 def get(self, request): return render(request, "forgetpwd.html", { }) django2.0.1 urls中配置: # 忘记密码 path('forget/', ForgetP…
目录 在线教育平台(一)      在线教育平台(二) 在线教育平台(三)      在线教育平台(四) 在线教育平台(五)      在线教育平台(六) 在线教育平台(七)      在线教育平台(八) 在线教育平台(九)      在线教育平台(十) 代码 github下载 八.课程详情页功能的实现 8.1.课程列表 (1)配置urls MxOnline/urls中 path("course/", include('course.urls', namespace="cou…
第三百八十九节,Django+Xadmin打造上线标准的在线教育平台—列表筛选结合分页 根据用户的筛选条件来结合分页 实现原理就是,当用户点击一个筛选条件时,通过get请求方式传参将筛选的id或者值,传入逻辑处理就行数据库条件查询,将查询条件值在返回html页面判断是否是选中样式,最后将所有需要关联的筛选请求加上彼此逻辑处理传回来的查询条件值 html请求传参 黄色背景为请求传参 红色背景为逻辑处理传过来的查询条件判断样式 <div class="wp butler_list_box li…
第三百八十八节,Django+Xadmin打造上线标准的在线教育平台—网站列表分页 分页可以用一个第三方分页模块django-pure-pagination 下载地址:https://github.com/jamespacileo/django-pure-pagination#settings 下载后安装此模块即可 使用pure-pagination分页配置 settings.py 注册分页app INSTALLED_APPS = [ 'django.contrib.admin', 'djang…
第三百八十七节,Django+Xadmin打造上线标准的在线教育平台—网站上传资源的配置与显示 首先了解一下static静态文件与上传资源的区别,static静态文件里面一般防止的我们网站样式的文件,包括ccs,js,网站样式图片 上传资源是用户操作上传的图片等资源 上传资源的配置 1,首先在项目里创建一个名称叫media的文件夹专门保存用户上传 2,settings.py文件配置上传资源的路径 # 上传资源路径,如果图片,上传文件等 MEDIA_URL = '/media/' # 设置上传资源…
第三百八十六节,Django+Xadmin打造上线标准的在线教育平台—HTML母版继承 母板-子板-母板继承 母板继承就是访问的页面继承一个母板,将访问页面的内容引入到母板里指定的地方,组合成一个新页面返回给浏览器 一般母板里都是写的一个网页里不变的地方,也就是通用的地方,被继承页(访问页)都是每个页面不同的地方,也就是将页面不同的地方引入到母板组合成一个新页面返回浏览器 母板里一般都是网页的.头部.底部.头部底部css.头部底部js 被继承页(访问页)里一般都是新内容,新内容的css和js 母…
第三百八十五节,Django+Xadmin打造上线标准的在线教育平台—登录功能实现 1,配置登录路由 from django.conf.urls import url, include # 导入django自在的include逻辑 from django.contrib import admin from django.views.generic import TemplateView # 导入django自带的TemplateView逻辑 import xadmin # 导入xadmin fr…
第三百八十四节,Django+Xadmin打造上线标准的在线教育平台—路由映射与静态文件配置以及会员注册 基于类的路由映射 from django.conf.urls import url, include # 导入django自在的include逻辑 from django.contrib import admin from django.views.generic import TemplateView # 导入django自带的TemplateView逻辑 import xadmin #…
第三百八十三节,Django+Xadmin打造上线标准的在线教育平台—第三方模块django-simple-captcha验证码 下载地址:https://github.com/mbi/django-simple-captcha 文档说明:http://django-simple-captcha.readthedocs.io/en/latest/usage.html 安装模块 下载后python setup.py install安装模块 在配置文件settings.py,里注册app名称capt…
第三百八十二节,Django+Xadmin打造上线标准的在线教育平台—xadmin进阶 1.后台管理员详情页面布局 后台管理员详情页面,区块是可以拖动的,而且分为了很多个区块 这个页面的布局在xadmin/plugins/auth.py里的UserAdmin类,修改这个类里的get_form_layout函数,就可以修改布局 def get_form_layout(self): if self.org_obj: self.form_layout = ( #Fieldset表示一个区块 Main(…
第三百八十一节,Django+Xadmin打造上线标准的在线教育平台—xadmin全局配置 1.xadmin主题设置 要使用xadmin主题,需要在一个app下的adminx.py后台注册文件里,写一个主题管理器绑定xadmin的views.BaseAdminView注册一般我们会在用户相关的app下的adminx.py后台注册文件里写 #!/usr/bin/env python # -*- coding:utf8 -*- import xadmin from xadmin import vie…
第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理 将一个app下的models数据库表注册到xadmin后台管理 重点:xadmin的数据表注册,是到app下查找的adminx文件,所以我们必须在app下创建一个adminx.py文件,所有关于数据表注册到xadmin后台的代码都是写在adminx.py文件里 adminx.py文件编写 1.自定义一个类来继承object对象,这个类叫做数据表管理器 数据表管理器里…
十一.用户信息 11.1.个人信息展示 (1)新建‘usercenter-bae.html’当母板 {% load staticfiles %} <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="renderer" content="webkit"> <meta http-equiv="X-U…
三.xadmin后台管理 3.1.xadmin的安装 django2.0的安装(源码安装方式): https://github.com/sshwsfc/xadmin/tree/django2 把zip文件放到pip目录下,运行下面命令安装: pip install xadmin-django2 是文件README.rst 出现了 Unicode 解码错误,这个文件是没有什么用处的,可以新建一个同名的空白文件替换掉 首先下载zip源码包:github.com/sshwsfc/xadmin 解压后,…