当前位置:主页 > 计算机电子书 > Web前端 > FlaskWeb下载
FlaskWeb开发:基于Python的Web应用开发实战

FlaskWeb开发:基于Python的Web应用开发实战 PDF 中文高清版

  • 更新:2021-12-28
  • 大小:168.8 MB
  • 类别:FlaskWeb
  • 作者:Miguel、Grinberg
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

内容简介

本书不仅适合初级Web开发人员学习阅读,更是Python程序员用来学习高级Web开发技术的优秀参考书。

•学习Flask应用的基本结构,编写示例应用;

•使用必备的组件,包括模板、数据库、Web表单和电子邮件支持;

•使用包和模块构建可伸缩的大型应用;

•实现用户认证、角色和个人资料;

•在博客网站中重用模板、分页显示列表以及使用富文本;

•使用基于Flask的REST式API,在智能手机、平板电脑和其他第三方客户端上实现可用功能;

•学习运行单元测试以及提升性能;

•将Web应用部署到生产服务器。

目录

  • 前言XI
  • 第一部分Flask简介
  • 第1章安装3
  • 1.1使用虚拟环境4
  • 1.2使用pip安装Python包6
  • 第2章程序的基本结构7
  • 2.1初始化7
  • 2.2路由和视图函数7
  • 2.3启动服务器9
  • 2.4一个完整的程序9
  • 2.5请求-响应循环11
  • 2.5.1程序和请求上下文11
  • 2.5.2请求调度13
  • 2.5.3请求钩子13
  • 2.5.4响应14
  • 2.6Flask扩展15
  • 第3章模板19
  • 3.1Jinja2模板引擎19
  • 3.1.1渲染模板20
  • 3.1.2变量21
  • 3.1.3控制结构22
  • 3.2使用Flask-Bootstrap集成TwitterBootstrap23
  • 3.3自定义错误页面26
  • 3.4链接29
  • 3.5静态文件29
  • 3.6使用Flask-Moment本地化日期和时间30
  • 第4章Web表单33
  • 4.1跨站请求伪造保护33
  • 4.2表单类34
  • 4.3把表单渲染成HTML35
  • 4.4在视图函数中处理表单37
  • 4.5重定向和用户会话39
  • 4.6Flash消息41
  • 第5章数据库43
  • 5.1SQL数据库43
  • 5.2NoSQL数据库44
  • 5.3使用SQL还是NoSQL45
  • 5.4Python数据库框架45
  • 5.5使用Flask-SQLAlchemy管理数据库46
  • 5.6定义模型47
  • 5.7关系49
  • 5.8数据库操作50
  • 5.8.1创建表50
  • 5.8.2插入行51
  • 5.8.3修改行52
  • 5.8.4删除行52
  • 5.8.5查询行52
  • 5.9在视图函数中操作数据库54
  • 5.10集成Pythonshell56
  • 5.11使用Flask-Migrate实现数据库迁移56
  • 5.11.1创建迁移仓库57
  • 5.11.2创建迁移脚本57
  • 5.11.3更新数据库58
  • 第6章电子邮件59
  • 使用Flask-Mail提供电子邮件支持59
  • 在Pythonshell中发送电子邮件60
  • 在程序中集成发送电子邮件功能61
  • 异步发送电子邮件62
  • 第7章大型程序的结构65
  • 7.1项目结构65
  • 7.2配置选项66
  • 7.3程序包67
  • 7.3.1使用程序工厂函数68
  • 7.3.2在蓝本中实现程序功能69
  • 7.4启动脚本71
  • 7.5需求文件71
  • 7.6单元测试72
  • 7.7创建数据库74
  • 第二部分实例:社交博客程序
  • 第8章用户认证77
  • 8.1Flask的认证扩展77
  • 8.2密码安全性77
  • 8.3创建认证蓝本80
  • 8.4使用Flask-Login认证用户81
  • 8.4.1准备用于登录的用户模型81
  • 8.4.2保护路由83
  • 8.4.3添加登录表单83
  • 8.4.4登入用户84
  • 8.4.5登出用户86
  • 8.4.6测试登录86
  • 8.5注册新用户87
  • 8.5.1添加用户注册表单87
  • 8.5.2注册新用户89
  • 8.6确认账户90
  • 8.6.1使用itsdangerous生成确认令牌90
  • 8.6.2发送确认邮件92
  • 8.7管理账户95
  • 第9章用户角色97
  • 9.1角色在数据库中的表示97
  • 9.2赋予角色99
  • 9.3角色验证100
  • 第10章用户资料103
  • 10.1资料信息103
  • 10.2用户资料页面104
  • 10.3资料编辑器106
  • 10.3.1用户级别的资料编辑器106
  • 10.3.2管理员级别的资料编辑器108
  • 10.4用户头像110
  • 第11章博客文章115
  • 11.1提交和显示博客文章115
  • 11.2在资料页中显示博客文章118
  • 11.3分页显示长博客文章列表118
  • 11.3.1创建虚拟博客文章数据119
  • 11.3.2在页面中渲染数据120
  • 11.3.3添加分页导航121
  • 11.4使用Markdown和Flask-PageDown支持富文本文章124
  • 11.4.1使用Flask-PageDown124
  • 11.4.2在服务器上处理富文本125
  • 11.5博客文章的固定链接127
  • 11.6博客文章编辑器128
  • 第12章关注者131
  • 12.1再论数据库关系131
  • 12.1.1多对多关系131
  • 12.1.2自引用关系133
  • 12.1.3高级多对多关系134
  • 12.2在资料页中显示关注者136
  • 12.3使用数据库联结查询所关注用户的文章138
  • 12.4在首页显示所关注用户的文章141
  • 第13章用户评论145
  • 13.1评论在数据库中的表示145
  • 13.2提交和显示评论146
  • 13.3管理评论149
  • 第14章应用编程接口153
  • 14.1REST简介153
  • 14.1.1资源就是一切154
  • 14.1.2请求方法154
  • 14.1.3请求和响应主体155
  • 14.1.4版本156
  • 14.2使用Flask提供RESTWeb服务156
  • 14.2.1创建API蓝本157
  • 14.2.2错误处理157
  • 14.2.3使用Flask-HTTPAuth认证用户159
  • 14.2.4基于令牌的认证161
  • 14.2.5资源和JSON的序列化转换162
  • 14.2.6实现资源端点165
  • 14.2.7分页大型资源集合167
  • 14.2.8使用HTTPie测试Web服务168
  • 第三部分成功在望
  • 第15章测试173
  • 15.1获取代码覆盖报告173
  • 15.2Flask测试客户端176
  • 15.2.1测试Web程序176
  • 15.2.2测试Web服务179
  • 15.3使用Selenium进行端到端测试180
  • 15.4值得测试吗184
  • 第16章性能185
  • 16.1记录影响性能的缓慢数据库查询185
  • 16.2分析源码187
  • 第17章部署189
  • 17.1部署流程189
  • 17.2把生产环境中的错误写入日志190
  • 17.3云部署191
  • 17.4Heroku平台191
  • 17.4.1准备程序192
  • 17.4.2使用Foreman进行测试196
  • 17.4.3使用Flask-SSLify启用安全HTTP197
  • 17.4.4执行gitpush命令部署198
  • 17.4.5查看日志199
  • 17.4.6部署一次升级199
  • 17.5传统的托管200
  • 17.5.1架设服务器200
  • 17.5.2导入环境变量200
  • 17.5.3配置日志201
  • 第18章其他资源203
  • 18.1使用集成开发环境203
  • 18.2查找Flask扩展204
  • 18.3参与Flask开发204
  • 关于封面图205

资源下载

资源下载地址1:https://pan.baidu.com/s/19BglNawM9GkNqKYsWmsoBg

网友留言

网友NO.22179
扈瀚玥

这是我几年前自学python时读过的一本书它被认为是一本烧瓶入门书。但是,单纯从应用的角度来说,这本书研究得很透彻,用flask作为应用没有大问题。起初,我想成为自己的个人网站后来网站开了,在腾讯云上托管,我没时间打理最后,我下线了。国内用flask或者python的网站应该不多如果你想知道如何使用python来构建一个mvc架构的web,不妨读一读这本书。

网友NO.46318
谢合瑞

就学习怎么用flask来说,看文档更好。书里讲了很多第三方模块,有的已经过期了。只能看看为什么要这么用这些模块。bootstrap、用户认证模块什么的,功能很强大,但实在太麻烦,不如直接自己弄。