关注公众号 领VIP会员
下次再说
Python项目实战(Flask项目开发)

下载课程

下载学院APP

缓存视频离线看

微信公众号
收藏(23)

Python项目实战(Flask项目开发)

课程目标: 掌握Flask项目实战开发,深刻理解软件分层与可重用设计

5分 共44课时 共14小时59分钟 更新时间: 30天前

新课热卖榜9

2424小时内答疑

课时永久观看

退15分钟内无条件退款

  1. 仅限付费视频课程适用
  2. 购买后15分钟内可以找到客服进行沟通退款
  3. 下载资料后不再享有退款特权
  4. 客服(Tel:400-101-1651)
  5. 最终解释权归51CTO学院所有

专属资料下载

课程介绍

课程大纲

学习资料

学员评价

课程目标
掌握Flask项目实战开发,深刻理解软件分层与可重用设计
适用人群
有Python课程基础知识
课程简介
  • 项目功能简介

    本课程针对于要实现的WEB功能进行了详细的说明,通过具体的代码运行结果向读者展示了所有要开发的功能模块。

  • 搭建Flask开发环境

    为了更加清晰的区分出项目结构,要创建有不同的程序模块目录,本课程通过具体的操作步骤为读者清楚的讲明了本次项目开发中的模块定义结构以及配置类的定义。

  • 公共父模版

    Jinja2作为主要的页面模版技术,在进行开发前就必须对要操作的模版进行综合的抽象设计,这样可以极大的提升页面代码的可重用性,本课程讲解了公共父模版的创建,同时分析了几个重要的宏文件的作用。

  • 首页蓝图

    本程序依据已有的项目结构进行了首页蓝图的定义,同时又讲解了如何通过设计的公共父模版实现首页的内容展示,在进行蓝图设计中重点分析了蓝图与配置类之间的整合联系。

  • 全局错误页

    为了保证WEB程序在出现错误之后依然可以回归到正确的使用环境就必须进行全局错误页的配置,错误页属于程序的扩展配置,所以在本课程讲解的过程之中,针对于出现的错误展示模版页进行了定义,同时又通过Config配置类的形式实现了错误处理函数的启用。

  • CSRF安全保护

    CSRF是在WEB设计中的重要安全技术组成,本课程为读者分析了Flask-WTF使用的问题,同时又讲解了如何利用CSRFProtcted类实现全局的CSRF安全保护。

  • 程序分层设计

    为了保证软件项目的可维护性在项目设计过程之中都需要考虑到层次设计,本课程为读者完整的讲解了软件分层的意义,以及每一层次的作用,同时指出了Python中由于缺少接口概念所产生的局限。

  • 用户注册表单

    项目开发使用了大量的蓝图进行了结构拆分,在进行用户注册表单创建时就需要进行蓝图的定义,同时为了保证项目的安全性为读者讲解了验证码的创建及使用。

  • 用户注册业务

    本课程在已有注册表单的前提下进行了用户注册业务的实现,采用了最原始的方式实现业务层与SQLAlchemy组件的整合调用。

  • 参数对象转换实现原理

    在WEB程序开发中,由于需要大量的通过ORM开发框架进行数据层的开发简化,这样就会牵扯到参数的接收、转换、对象实例化等大量重复性的操作,本课程通过已有代码进行了该问题的分析,并且给出了开发的解决方案。

  • 反射获取属性内容

    Python内部直接提供有“__dict__”字典存储所有的类结构信息,本课程将根据此字典信息实现ORM映射类的剖析,通过具体的程序演示实现了对象属性以及数据类型的获取。

  • 属性自动赋值

    Flask内部提供的request可以实现请求参数的接收,而所接收到的数据类型全部为字符串,为了便于反射属性赋值的操作,本程序依据反射获取的数据类型实现了日期、数字等类型的自动转换,并利用setattr()内置的特殊方法实现了属性反射赋值的操作。

  • 事务管理概述

    软件设计之中使用了分层模型进行代码结构管理,业务层中就需要避免非业务逻辑的混合,本课程为读者分析了传统事务控制的问题,同时讲解了切面设计的设计思想。

  • 静态代理设计模式

    静态代理设计模式是代理设计模式的核心概念,本课程通过静态代理设计模式的概念为读者解释了代理设计模式的作用,同时又通过详细的分析解释了静态代理设计模式的缺陷。

  • 动态代理设计模式

    Python没有提供专属的动态代理设计模式的支持,但是利用Python中的__getattribute__()特殊函数实现了代理的拦截与真实业务调用,本课程通过详细的代码步骤分析,对这一操作结构进行了实现。

  • 装饰器代理结构

    装饰器是Python中提供的重要技术优化手段,代理设计与装饰器的结合可以实现切面结构的管理,本课程基于已有的动态代理设计模式进行了重新的结构设计,并且给出了最终在开发中可用的代理结构。

  • 事务切面控制

    动态代理在实际项目开发中最重要的应用体现在事务切面处理上,本课程结合已经开发完成的动态代理实现标准,讲解了事务处理的操作控制,以及业务层代码优化。

  • 反射业务工厂

    业务结构的切面优化可以有效的避免重复代码的出现,而后对于程序中最为重要的设计就是进行不同层的解耦和配置,工厂设计模式的应用就成为了至关重要的设计关键,本课程分析了业务静态工厂的使用以及存在问题,并且通过importlib模块基于反射结构实现了动态业务工厂。

  • 服务端验证概述

    为了保证控制层的操作安全,必须对请求数据进行合理的验证,在实际项目中数据验证分为前端JS验证以及后台服务端验证,本课程为读者分析了服务端数据验证的意义,并且给出了验证的基本实现流程。

  • Properties

    在项目开发中可以通过资源文件进行所有配置信息的统一管理,但是由于Python本身并没有直接提供有这种资源读取类,所以本课程将结合open()函数手工实现了资源管理Properties类的实现。

  • 获取验证规则

    服务端的验证主要依靠于验证规则的获取,为了便于验证规则的操作,本课程直接在钩子函数中使用了路径进行了验证规则的匹配,并且基于Properties类实现了相关验证规则的信息获取。

  • 服务端参数验证

    自动化的验证操作需要提前定义好相应的验证规则配置项,在实际开发中数字、字符串、日期等类型是最为常见的数据格式,所以本课程针对于八种特定的结构实现了验证规则函数的定义,并且将其整合到验证处理函数中以实现数据的检测。

  • 显示错误信息

    用户提交的请求参数需要经过验证规则判断,而判断后的信息处理结果就需要结合WEB显示层进行展示,所以为了便于验证规则的编写,本程序定义了新的资源文件,并且利用此资源文件实现了信息的获取,结合字典操作形式实现了500页面的提示。

  • 基础登录

    注册后的账户信息如果要使用,那么一定要结合登录的模式进行处理,本课程通过业务层的实现讲解了登录基础逻辑的操作,核心的功能就是对用户名和密码进行检测。

  • 页面信息控制

    动态WEB**的特点是进行页面显示的动态控制,本课程在用户登录功能的基础上利用session的形式实现了数据的保存,并且在页面中利用Jinja2模版语法根据用户的不同状态实现了页面显示的定义。

  • 用户登录检测

    用户登录处理中为了保护核心资源的访问安全,就需要对用户进行各种检测操作的控制,本课程利用了钩子函数实现了前台用户和后台管理员用户的访问限制。

  • 记住密码

    软件系统中为了用户安全往往会设置有用户登录管理程序,但是频繁的登录过程也会造成用户使用中的困扰,所以在系统中为了简化用户登录流程,可以基于Cookie实现用户登录数据的存储,本课程将基于Cookie的运行机制实现用户免登录控制。

  • Cookie数据加密

    Cookie数据信息存储在客户端浏览之中为了保证数据的安全,就需要进行加密处理,本课程基于Base64加密工具为读者分析了数据的加密与解密处理,并利用具体的程序演示了实际项目中数据加密的处理模式。

  • 登录注销

    用户实现系统登录之后除了要在session中保存数据之外,还要在Cookie中存储数据,为了保证用户数据的安全,则需要进行注销功能的实现,而这就需要session与cookie的数据删除,本课程通过具体的操作代码演示了登录注销的操作实现。

  • 编辑个人资料

    每一位注册账户在进行注册时为了方便都针对于个人的信息进行了默认值的处理,但是不同的用户肯定有各自的个性化需求,所以本课程主要讲解了个人资料的变更操作,同时讲解了文件上传在项目中的设计。

  • 修改登录密码

    如果用户不幸意外的泄露了密码,就需要进行及时的更换,本课程为读者演示了密码修改的操作功能,并且通过业务的设计分析讲解了页码修改的具体操作实现。

  • 商品信息列表

    在系统中为了便于使用者开发已经提供有大量的商品测试数据信息,本课程通过后台业务实现了商品数据的读取,并结合Jinja2模版在前端显示了所有的商品信息。

  • 商品信息添加

    商品信息在进行添加过程中需要设置有对应的商品分类,本课程基于业务层进行了商品分类数据的获取以及内容的存储。

  • 商品信息修改

    项目中如果出现有商品信息错误的时候就需要修改功能,商品信息的修改操作应该基于商品信息的列表机制实现,同时还需要考虑商品图片的更新处理。

  • 商品信息删除

    在本项目中商品信息的删除操作基于业务的逻辑删除处理,使用标志位的内容来进行商品删除与否的标记,本课程通过更新的操作形式实现了商品的逻辑删除处理,并完善了商品列表业务的功能。

  • 分页功能简介

    分页是项目开发中最为常见的功能模型,本课程为读者详细的分析了分页操作的实现方案,同时基于具体的代码操作分析了分页处理之中各个参数的作用以及业务层的操作修改。

  • 分页控制器

    分页中最为重要的就是分页参数的控制,为了方便用户使用就必须通过直白的链接模式进行处理,本课程基于宏结构的定义讲解了分页控制按钮的组件开发。

  • 页码生成控制

    分页控制器需要依据不同的数据量实现页码的动态生成,本课程为读者分析了页码生成操作的算法,同时基于统计函数实现了数据量的计算。

  • 数据检索组件

    项目中除了有分页的具体操作之外还需要提供有数据的检索工具,利用检索的功能实现模糊匹配,本课程讲解了数据检索的业务实现以及分页控制器的参数传递改进。

  • 伸缩页码控制

    页码是分页中的重要操作依据,为了更加合理的进行页码的控制需要进行部分页码的伸缩管理, 本课程基于已有的页码控制器进行改进,实现了可伸缩页码的控制器组件。

  • 首页数据展示

    后台功能的完善是为了便于前台首页信息的显示,本课程直接基于存在的业务功能进行了修改,定义了新的首页业务层,并且依据分页的结构实现了商品数据的显示。

  • 商品分类展示

    在前台界面中所有的商品数据都可以进行分类展示,利用分类展示与地址参数传递的模式实现了分类商品数据的分页加载。

  • 商品数据检索

    系统的顶部提供有商品数据的模糊查询功能,本课程基于首页业务层的模型实现了数据模糊查询与分页显示的控制。

加载中
所属章节 资料名称 文件大小 下载
相关资料推荐

暂时还没有学习资料~

5

    1
    非常糟

    2
    很差

    3
    一般

    4
    很好

    5
    非常好

    • 0%
    • 0%
    • 0%
    • 0%
    • 0%
    加载中
    没有了哦~

    讲师介绍

    李兴华

    李兴华

    讲师评分:4.4

    51CTO博主,清华大学出版社特约作者,名师讲坛系列图书作者,知名Java高级讲师

    学院服务

    关注公众号领取
    免费VIP会员

    添加学院管家微信进入
    学习社群

    512人学习过

    推荐图书

    7日学霸榜 有512人与你一起学习

    课程介绍

    课程大纲

    学习资料

    学员评价

    ¥ 38.80

    课程评价

    发表客观评价,上限可得35学分(会员可得70学分)

    Python项目实战(Flask项目开发)

    该课程已有 人评价

    课程与描述相符

    老师的讲解表达

    老师的答疑服务

    匿名

    在线
    客服
    在线
    客服

    下载Android客户端

    下载iphone 客户端

    关注官方微信

    返回
    顶部