Django学习知识库

Auth: 王海飞

Data:2018-04-20

Email:779598160@qq.com

github:https://github.com/coco369/knowledge


​ python学习之路,就是不断累积,不断学习的过程。该知识库讲解了Python Web框架内容,如Django、DjangoRestFramework、tornado、flask,redis,MySQL,MongoDB,docker,Vue等内容。如下展示知识结构目录图

git知识库

docker知识库

mysql数据库知识库

redis知识库

mongodb知识库

celery知识库

PEP 8风格指南

Django知识库

思维导图

  • 虚拟环境与项目初认知

    • 虚拟环境搭建 - mkvirtualenv的使用 / virtualenv的使用 / python3中venv模块的使用 / Pycharm中虚拟环境的配置

    • 项目初认知 - MVC模式 or MVT模式 / 创建Django工程目录 / 创建应用app

    • admin管理后台 - 超级用户的创建,模型注册,模型中数据展示(list_display)、搜索(search_field)、过滤(list_filter)等

  • 模型

    • 模型概念 - ORM概念 / 模型的定义 / 字段的定义 / 字段参数的定义 / Meta元数据定义 / 表名定义 / 一对一关联 / 一对多关联 / 多对多关联

    • 数据库配置 - pymysql驱动配置 / 数据迁移命令

    • 比较运算符 - F对象 / Q对象

    • 限制结果集 - contains / startswith / endswith / in / gt / gte / lt / lte / pk等

    • 数据的查询 - all / filter / get / first / last / values等

    • 数据的创建 - create() / save()

    • 数据的更新 - update() / save()

    • 数据的删除 - delete()

  • 模板

    • 模板与静态配置 - 静态staticfiles_dirs的定义 / 静态资源的加载 / 资源反向解析url_for(有参和无参情况)

    • 模板语法 - 模板中逻辑运算符(if、ifequal、forloop、for 、empty等) / 模板继承 / 模板注解 / 过滤器(管道符'|')

  • 视图

    • 路由规则 - URL正则匹配 / 带参URL定义 / 不带参URL定义

    • 响应 - redirect重定向(传参重定向 / 不传参重定向) / 模板渲染 / JSON数据响应 / 错误状态码(403、404、500)视图定义

    • 请求 - 请求属于与方法(method、path、user、FILEWS、GET、POST等) / 匿名用户AnonymousUser

    • form表单验证 - 字段的定义 / 错误响应抛出 / 校验失败错误信息解析 / 校验clean方法 / 校验字段clean_fields方法

  • Cookie与Session

    • 会话技术 - HTTP无状态协议 / 解决HTTP无状态协议 / Cookie产生场景 / Session产生场景

    • Cookie - 设置cookie / 删除cookie / 设置失效时长

    • Session - django_session表的定义 / 操作Session(增删改查) / 数据存储的时效

    • 登陆注册功能 - 使用django中高耦合用户模块实现功能 / 使用Cookie + Token形式实现功能 / 登陆状态校验装饰器

  • 中间件、表单、文件上传

    • 中间件middleware - 工作原理与处理流程 / 拦截各阶段的请求 / 重构拦截各阶段请求 / 登陆状态校验中间件

    • form表单验证 - 字段的定义 / 错误响应抛出 / 校验失败错误信息解析 / 校验clean方法 / 校验字段clean_fields方法

    • 文件上传 - Pillow安装 / 存储路径media地址定义 / 模板解析文件

  • 分页与权限

    • 分页 - Paginator工作原理 / 分页角码 / 上一页 / 下一页 / 总数据库 / 当前页等

    • 权限模型定义 - User模型 / Group模型 / Permission模型 / 模型的ManyToManyFiled关联关系 / 权限中间表数据的增、删、清空

    • 权限装饰器 - permission_reqired('应用app.权限名')

    • 菜单控制 - 通过全局perms变量进行权限和菜单的控制

  • 日志/celery

    • 日志的配置与构成 - logging的四大组件(loggers 、handlers、filters、formatters) / 日志处理流程 / 日志中间件

    • celery

  • DRF

    • 架构设计指导原则 - 接口定义规则 / REST风格 / 资源 / HTTP请求方式 / HTTP状态码
    • DRF的应用 - djangorestframework安装 / django-filter安装 / 接口的定义 / 资源的CRUD
    • 重构api响应结构 - 响应结构重构与定义
    • 序列化serializer - 字段校验 / 错误信息自定义 / 验证方法validate / Serializer和ModelSerializer
    • 分页配置
    • 过滤类filter_class - 过滤字段 / 过滤方法method
  • [项目(后端渲染页面)]

  • [项目(前后分离渲染)]

  • [部署]

  • [拓展]

Flask知识库

思维导图

  • [第一天:入门基础]

    - flask配置:微的定义,最小flask的web应用,虚拟环境搭建,安装flask
    - mvc概念,项目的符合MVC模式的拆分
    - 项目运行管理:flask_script库使用,debug配置等
    - 路由: 路由匹配规则
    - 请求与响应:POST/GET请求传参,类字典的区别
    
  • [第二天:视图]

    -  session/cookie概念与用法:
    	-  1) flask默认使用cookie存储session的数据。 
    	-  2)引入flask_session扩展库,实现使用数据库存储session中数据。
    -  应用案例1:分别使用两种存储session数据方式实现模拟登陆功能,以及装饰器的定义使用
    -  应用案例2:使用flask-login扩展库实现用户登录注销功能
    
  • [第三天: 模板]

    - 基础模板的定义,模板的继承,挖坑以及填坑。宏定义
    - 模板中逻辑控制,过滤器,以及静态static的配置
    - 应用案例1: flask-wtf的form表单的使用
    
  • [第四天: 数据库]

    - 模型的定义,数据库的创建,模型之间的关联关系的定义以及CRUD操作
    - 深入数据库的增删改查,查询数据filter和filter_by
    - 运算符--contains、startswith、__gt__等
    - 筛选--offset、limit、get、first、paginate等
    - 逻辑运算符--and_、or_、not_
    - 模型之间的一对多的关联关系的定义
    
  • [第五天: 配置]

    - 钩子函数: before_request, after_request, teardown_request
    - 应用上下文g对象
    - 应用案例1: 钩子函数+g对象的使用,实现pymysql连接MySQL,并执行查询操作
    - 应用案例1: 登录、注册、登录验证
    - 应用案例2: 邮件发送
    - 应用案例3: 文件上传
    
  • [第六天到第10天:项目]

  • [Flask和Django区别]

爬虫

Tornado知识库

机器学习

  • [第一天: jupyter入门]
  • [第二天: pandas入门]
  • [第三天: pandas进阶1]
  • [第四天: pandas进阶2]
  • [第五天: scipy]
  • [第六天: matpoltlib]
  • [第七天: KNN]
  • [第八天: KNN]
  • [第九天: 线性回归与逻辑斯蒂回归]
  • [第十天: 决策树与贝叶斯]
  • [第十一天: SVM与K均值聚类]
  • [第十二天: 机器学习框架 TensorFlow1]
  • [第十三天: 机器学习框架 TensorFlow2]
  • [第十四天: 自然语言处理与社交网络处理]
  • [第十五天: 综合案例信用卡反欺诈]

VUE框架


书籍推荐