Skip to content

python学习之路,就是不断累积,不断学习的过程

Notifications You must be signed in to change notification settings

Raymond38324/knowledge

This branch is 315 commits behind coco369/knowledge:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ad6cfc3 · Jan 16, 2019
May 29, 2018
Jan 16, 2019
May 29, 2018
Jan 1, 2019
May 29, 2018
Jan 16, 2019
Nov 15, 2018
Jan 1, 2019
Jan 16, 2019
Jul 26, 2018
Jan 16, 2019

Repository files navigation

知识库

知识库,总结在项目中实际使用的git命令,docker部署,mongodb,mysql等知识点

git知识库

docker知识库

mysql数据库知识库

redis知识库

mongodb知识库

PEP 8风格指南

Django知识库

思维导图

  • [第一天:环境与创建项目]

    - 环境搭建: virtualenv的安装与使用,pycharm中环境的配置
    - Django概念: MVC模式/MVT模式
    - 项目创建: 创建Django工程目录,创建应用app,使用admin管理后台
    - admin管理后台:超级用户的创建,模型注册,模型中数据展示(list_display)、搜索(search_field)、过滤(list_filter)等
    
  • [第二天:模型]

    - M模型:模型的定义,字段的定义,字段参数的定义。Meta元数据定义,定义表名称
    - 数据库配置,pymysql驱动配置,数据迁移执行命令
    - ORM对象关系映射概念:什么是ORM,ORM用于做什么?
    - 比较运算符,F/Q对象,限制结果集:contains,startswith,endswith,in,gt,gte,lt,lte,pk等
    - 数据的查询,all,filter,get,first,last,values等
    - 数据的创建:create(),对象save(),初始化模型再save()
    - 数据的更新:update(),对象save()
    - 数据的删除:delete()
    
  • [第三天:模型加餐/模板]

    - 模型设计概念:一对一,一对多,多对多的模型定义
    - 模型设计案例:学生和学生拓展表一对一模型设计,学生和课程表多对多模型设计,学生和班级一对多模型设计
    - 模板1:在settings.py文件中静态static的配置定义,在页面中静态文件的加载
    - 模板2:模板中逻辑运算符,if、ifequal、forloop、for empty等
    - 模板3:父模板中定义block块和子模板中继承与调用父模板中block块
    - 模板4:模板中注解,注解代码的可见与不可见,三种注解的区别
    - 模板5:模板中定义修饰变量的过滤器,使用管道符‘|’,以及Django中过滤器的自定义
    
  • [第四天:视图1]

    - URL的正则匹配与带参URL和不带参URL定义
    - 带参URL的redirect跳转与参数传递,以及页面内中URL反向解析的定义
    - Django中DEBUG为False和True的区别,以及当DEBUG为False时,静态文件解析与错误(403、404、500)视图的定义
    - 请求与响应:请求中属性和方法,响应中属性和方法
    
  • [第五天:视图2]

    - form表单:字段的定义、form中错误信息的重定义、页面中错误信息的展示
    - 登录注册注销:django中如何快速的实现登录注册注销功能
    - 什么是会话技术,什么是HTTP无状态协议,解决HTTP无状态协议的方案----> cookie + session
    - cookie的使用:如何设置cookie,删除cookie,如何设置失效
    - session的使用:如何使用session,删除session,session中数据存储的时效。在Django中如何配置session,数据库中django_session表的使用
    - 案例1:cookie和session实现的原理
    
  • [第六天:插件]

    - 中间件middleware的工作原理,如何拦截各阶段的请求,重构拦截各阶段的方法
    - 数据分页:掌握Paginator分页的工作原理,实现分页的方式
    - 定义模型中上传文件字段,安装Pillow,定义上传文件的media路径,定义页面中如何解析media中上传图片
    - 中间件案例1: 实现登录注册功能
    
  • [第七天:权限、角色]

    - 如何拓展Django的User模型,并自定义相关的权限
    - 权限系统中User模型、Group模型、Permission模型的ManyToManyFiled关联关系,以及数据的增、删、清空。
    - 权限装饰器: permission_reqired('应用app.权限名')
    - 菜单控制:通过全局perms变量进行权限和菜单的控制
    
  • [第八天:日志/restful]

    - setting.py中日志logging文件的配置,logging的四大组成,loggers,handlers,filters,formatters的处理流程,以及日志打印
    - 架构设计指导原则,rest的核心定义,如何定义符合规范的api接口。资源、请求、状态码的理解。
    - Django中restframework安装,settings.py中的定义,以及如何定义对资源的CRUD操作
    
  • [第九天:restframework2]

    - 重构api响应结构,api中异常响应结构重构与定义
    - 定义虚拟化serializer,验证每一个字段的错误信息,配置参数等
    
  • [第十天:restframework3]

    - api返回数据的分页配置,过滤类的定义与配置
    - 调用postman实现通过api对数据进行CRUD操作
    - 总结drf中的视图、序列化器、过滤器等
    
  • [第十一天到十五天:项目]

  • [部署]

  • [拓展]

Flask知识库

思维导图

  • [第一天:HelloFlask]

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

    -  session/cookie概念与用法:
    	-  1) flask默认使用cookie存储session的数据。 
    	-  2)引入flask_session扩展库,实现使用数据库存储session中数据。
    -  应用案例1:分别使用两种存储session数据方式实现模拟登陆功能,以及装饰器的定义使用
    -  应用案例2:使用flask-login扩展库实现用户登录注销功能
    -  基础模板的定义,模板的继承,挖坑以及填坑。宏定义
    -  模板中逻辑控制,过滤器,以及静态static的配置
    
  • [第三天:models初窥]

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

    - 模型之间的多对多的关联关系的定义,多对多的数据的CRUD
    - 钩子函数: before_request, after_request, teardown_request
    - 应用上下文g对象
    - 应用案例1: 钩子函数+g对象的使用,实现pymysql连接MySQL,并执行查询操作
    - 应用案例2: flask-wtf的form表单的使用
    
  • [第五天:扩展]

    - 登录注册: 使用第三方flask-login库实现登录注册,登录验证等
    - 文件上传: form表单提交上传图片进行保存
    - 拓展库的使用:debugtoolbar,flask_restful
    - 应用案例1: 登录、注册、登录验证
    - 应用案例2: 邮件发送
    
  • [第六天到第10天:项目]

  • [Flask和Django区别]

爬虫

Tornado知识库

About

python学习之路,就是不断累积,不断学习的过程

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 73.8%
  • CSS 20.7%
  • HTML 3.4%
  • JavaScript 2.1%