• Stars
    star
    794
  • Rank 57,349 (Top 2 %)
  • Language
    Python
  • License
    MIT License
  • Created over 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

Django学习知识库

Auth: 王海飞

Data:2018-04-20

Email:[email protected]

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


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

Python基础

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框架 - 微型框架的定义 / Django、Flask、Sanic、Tornado等框架的对比
    • Flask最小应用项目 - 最简Web项目定义 / 启动命令参数 / Flask_Script的使用
    • 路由规则 - 转化器的定义(int、string、uuid、float、path等)
    • 请求与响应:POST/GET请求传参,类字典的区别
    • 蓝图Flask_Blueprint - 路由模块化管理 / 路由前缀url_prefix / 重定向url_for方向解析
  • 视图
    • cookie概念与用法 - cookie的设置与删除 / cookie + token实现状态保持
    • session概念与用法 - flask默认使用cookie存储session的数据 / 引入flask_session扩展库,实现使用数据库存储session中数据
    • 装饰器 - 登陆状态校验装饰器
    • 案例1 - 分别使用两种存储session数据方式实现模拟登陆功能,以及装饰器的定义使用
    • 案例2 - 使用flask-login扩展库实现用户登录注销功能
  • 模板
    • 模板概念 - 基础模板的定义 / 模板的继承 / 挖坑以及填坑 / 静态文件static的配置
    • 模板中逻辑控制 - for / if / loop / 过滤器 / 宏定义macro
    • 表单 - Flask-WTF的form表单定义 / 字段校验DareRequired / 长度校验Length / 字段相等EqualTo / 方法validate_fields定义 / 异常抛出ValidateError / 错误信息解析errors
  • 数据库
    • 模型 - 模型字段定义 / 模型字段约束 / 模型表明tablename定义 / 模型一对一关联 / 模型一对多关联
    • ORM操作(增 / 改) - 事务add() / add_all() / commit()
    • ORM操作(删) - 事务delete()
    • ORM操作(查) - filter / filter_by / contains、startswith 、like 、endswith、gt、ge、lt、le、offset、limit、get、first、paginate、and__、or_、not_、in_、notin_
  • 拓展
    • 钩子函数 - before_request, after_request, teardown_request
    • 应用上下文g对象
    • 应用案例1: 钩子函数+g对象的使用,实现pymysql连接MySQL,并执行查询操作
    • 应用案例1: 登录、注册、登录验证
    • 应用案例2: 邮件发送
    • 应用案例3: 文件上传
  • 部署
  • [Flask和Django区别]

爬虫

  • 爬虫入门与实战

    • 爬虫概念 - 爬虫原理 / 请求(请求头、cookie、headers等) / 响应(响应状态码、响应内容、响应headers等)

    • 数据采集库 - urllib / requests / Selenium/ / Scrapy

    • 数据分析 - 正则表达式 / lxml / BeautifulSoup4 / xpath

    • 案例1 - 使用urllib库爬取智联上某工作某地点的工作名称,公司等信息

    • 案例2 - 使用requests库爬取猫眼电影的信息

    • 案例3 - 获取豆瓣电影中动态加载电影资源信息

    • 案例4- 爬取知乎发现里面的提问的链接数,和链接地址

  • 爬虫动态剖析与实战

    • 自动化工具Selenium - 动态网站分析 / Selenium中标准选择器、CSS选择器、标签选择器语法
    • 案例1 - 知乎和豆瓣电影的动态信息的爬取
    • 案例2 - 验证码破解(B站极验验证码的破解、图片验证码的破解)
    • 案例3 - 爱奇艺VIP视频爬取
  • Scrapy框架

    • Scrapy框架 - Scrapy框架图解 / 下载中间件 / Spider中间件 / Spiders爬虫 / Item实体 / Pipelines项目管道
    • 代理 - IP代理切换proxy / User_Agent用户代理切换 / Cookie代理池切换
    • 分布式Scrapy-redis - 分布式概念 / 爬取队列维护 / 主机master / 从机slave
  • 爬虫性能

    • 同步、异步、协程、多线程、单线程、多进程
    • 异步aiohttp

Tornado知识库

  • 入门基础

    • Tornado配置 - 虚拟环境搭建 / tornado的安装 / 最小tornado的web应用 / 启动命令端口配置
    • 请求与响应 - HTTP行为方法 / 切入点函数 / 请求参数(get_argument) / 响应参数
    • 路由 - 路由匹配规则
  • 进阶

    • tornado静态资源与模板 - 模型的继承与模板语法 / 静态资源的加载static_url
    • 数据库 - sqlalchemy的安装 / 模型定义 / 模型迁移
    • Tornado WebSocket网络协议: - 保持浏览器与服务器之间的通信,并实现持久化连接,数据的双向传递等
  • 同步与异步

    • tornado跨站请求伪造XSRF - 概念 / 防范
    • 同步与异步 - 同步 / 异步 / 阻塞 / 非阻塞 / 协程 / 异步生成器 / ab压力测试
    • 队列
    • 应用案例1: 开发websocket聊天系统
  • 实战项目 - 案例1: WebSocket聊天室

机器学习

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

VUE框架

  • 入门
    • Vue配置 - node.js安装 / cnpm的安装 / vue的安装 / vue项目的创建 / 项目启动run / 项目build
    • Vue组件 - 自定义组件 / 加载组件 / 配置链接地址
    • Vue内部指令 - v-text / v-html / v-if / v-else / v-show / v-model / v-bind / v-on等
    • Vue计算属性 - computed / 监听watch
  • 提升
    • Vue的全局操作 - 生命周期 / axios请求 / 跨域配置
    • Vue部署 - 项目build相关配置 / Nginx配置 / 反向代理配置

K8s

  • k8s的概念、安装 / minikube的使用