【新书推荐】Web3.0应用开发实战(从Web 2.0到Web 3.0)

第一部分 Flask简介

 第1章 安装

 1.1 创建应用目录

 1.2 虚拟环境

 1.2.1 创建虚拟环境

 1.2.2 使用虚拟环境

 1.3 使用pip安装Python包

 1.4 使用pipregs输出包

 1.5 使用requirements.txt

 1.6 使用pipenv管理包

 第2章 应用的基本结构

 2.1 网页显示过程

 2.2 初始化

 2.3 路由和视图函数

 2.4 一个完整的应用

 2.5 Web开发服务器

 2.6 动态路由

 2.7 调试模式

 2.8 命令行选项

 2.9 请求-响应循环

 2.9.1 应用和请求上下文

 2.9.2 请求分派

 2.9.3 请求对象

 2.9.4 请求钩子

 2.9.5 响应Response

 2.9.6 对比cookie与session

 2.10 Flask扩展包

 第3章 模板

 3.1 Jinja2模板引擎

 3.1.1 渲染模板

 3.1.2 变量及占位符

 3.1.3 自定义过滤器

 3.1.4 控制结构

 3.1.5 宏及模板继承

 3.2 集成Bootstrap

 3.3 Bootstrap页面布局

 3.4 自定义错误页面

 3.5 链接

 3.6 静态文件

 3.7 使用Flask-Moment本地化日期和时间

 第4章 Web表单

 4.1 配置

 4.2 表单验证

 4.2.1 服务器端验证

 4.2.2 客户端验证

 4.3 自定义验证函数

 4.3.1 行内验证函数

 4.3.2 全局验证函数

 4.4 表单谊染

 4.5 防御CSRF攻击

 4.6 在视图函数中处理表单

 4.7 单个页面多个表单

 4.8 重定向和用户会话

 4.9 重定向到上一个页面

 4.9.1 使用HTTP referrer重定向

 4.9.2 使用查询参数next重定向

 4.10 闪现消息

 第5章 数据库

 5.1 SQL数据库

 5.2 NoSQL数据库

 5.3 使用SQL还是NoSQL

 5.4 Python数据库框架

 5.5 使用pymongo管理数据库

 5.6 数据库CRUD基本操作

 5.6.1 增

 5.6.2 删

 5.6.3 改

 5.6.4 查

 5.7 数据库查询操作符

 5.7.1 比较查询操作符

 5.7.2 逻辑查询操作符

 5.7.3 元素查询操作符

 5.7.4 评估查询操作符

 5.7.5 数组查询操作符

 5.8 数据库更新操作符

 5.8.1 字段更新操作符

 5.8.2 数组更新操作符

 5.8.3 修饰操作符

 5.9 聚合操作

 5.10 地理位置查询

 5.11 在视图函数中操作数据库

 5.12 集成Python shell

 5.13 MongoDB备份与恢复

 5.13.1 备份数据

 5.13.2 还原数据

 第6章 电子邮件

 6.1 使用Flask-Mail提供电子邮件支持

 6.2 在Python shell中发送电子邮件

 6.3 在应用中集成电子邮件发送功能

 6.4 异步发送电子邮件

 第7章 大型应用的结构

 7.1 项目结构

 7.2 配置选项

 7.3 应用包

 7.3.1 使用应用工厂函数

 7.3.2 在蓝本中实现应用功能

 7.4 应用脚本

 7.5 需求文件

 7.6 单元测试

 7.7 创建数据库

 7.8 运行应用

第二部分 实例:Web 2.0博客

 第8章 用户身份验证

 8.1 Flask的身份验证扩展

 8.2 密码安全性

 8.3 创建身份验证蓝本

 8.4 使用Flask-Login验证用户身份

 8.4.1 准备用于登录的用户模型

 8.4.2 保护路由

 8.4.3 添加登录表单

 8.4.4 用户登录

 8.4.5 用户退出

 8.4.6 理解Flask-Login的运作方式

 8.4.7 登录测试

 8.5 注册新用户

 8.5.1 添加用户注册表单

 8.5.2 处理用户注册

 8.6 确认账户

 8.6.1 使用itsdangerous生成确认令牌

 8.6.2 发送确认邮件

 8.7 管理账户

 8.8 用户角色

 第9章 用户资料

 9.1 资料信息

 9.2 用户资料页面

 9.3 资料编辑器

 9.3.1 用户级资料编辑器

 9.3.2 管理员级资料编辑器

 9.4 用户头像

 第10章 博客文章

 10.1 提交和显示博客文章

 10.2 在资料页中显示博客文章

 10.3 分页显示长博客文章列表

 10.3.1 创建虚拟博客文章数据

 10.3.2 在页面中谊染数据

 10.3.3 添加分页导航

 10.4 使用Markdown和Flask-PageDown支持富文本文章

 10.4.1 使用Flask-PageDown

 10.4.2 CKeditor富文本编辑器

 10.5 博客文章的固定链接

 10.6 博客文章编辑器

 第11章 关注者

 11.1 再论数据库关系

 11.2 在资料页面中显示关注者

 11.3 查看指定用户的关注者和被关注者

 11.4 在首页显示所关注用户的文章

 第12章 用户评论

 12.1 评论在数据库中的表示

 12.2 提交和显示评论

 12.3 管理评论

 第13章 应用接口

 13.1 REST简介

 13.1.1 资源就是一切

 13.1.2 请求方法

 13.1.3 请求和响应主体

 13.1.4 版本

 13.2 使用Flask实现REST式Web服务

 13.2.1 创建API蓝本

 13.2.2 错误处理

 13.2.3 使用Flask-HTTPAuth验证用户身份

 13.2.4 基于令牌的身份验证

 13.2.5 基于JWT的身份验证

 13.2.6 资源和JSON的序列化转换

 13.2.7 实现资源的各个端点

 13.3 使用Jupyter notebook测试Web服务

第三部分 实例:Web 3.0商城

 第14章 Web 3.0简易商城

 14.1 区块链

 14.2 Web 3.0

 14.2.1 以太坊域名(ENS)

 14.2.2 区块链存储

 14.3 MetaMask

 14.4 Web3.js

 14.5 以太坊代币计量单位

 14.6 简易商城项目结构

 14.7 页面构成

 14.7.1 路由函数

 14.7.2 视图模板

 14.8 MetaMask获取钱包余额、交易回执

 14.8.1 获取余额

 14.8.2 交易回执

第四部分 成功在望

 第15章 测试

 15.1 获取代码覆盖度报告

 15.2 Flask测试Web客户端

 15.3 值得测试吗

 15.4 性能

 第16章 部署

 16.1 部署流程

 16.2 把生产环境中的错误写入日志

 16.3 云部署

 16.3.1 安装更新开发工具及各种依赖

 16.3.2 MongoDB数据库

 16.3.3 Nginx服务器

 16.3.4 Gunicorn服务器

 16.3.5 Supervisor进程守护

 第17章 其他资源

 17.1 使用集成开发环境

 17.2 寻找Flask扩展

 17.3 寻求帮助

 17.4 参与Flask社区

参考文献

......

本书共分四部分,全面介绍如何基于Python微框架Flask进行Web开发。第一部分是Flask简介,介绍使用Flask框架及扩展开发Web程序的必*基础知识。第二部分则给出一个Web 2.0实例,真正带领大家一步步开发完整的博客和社交应用Flasky,从而将前述知识融会贯通,付诸实践。第三部分在初步了解Web 2.0建站流程的基础上,建立一个简单的Web 3.0商城。第四部分介绍了发布应用之前必须考虑的事项,如单元测试策略、性能分析技术、Flask程序的部署方式等。

本书采用Python 3.X、MongoDB软件,适合熟悉Python编程,有意通过Flask全面掌握Web开发的程序员学习参考。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/242498.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jmeter的文件参数化:CSV数据文件设置和_CSVRead函数

一、CSV数据文件设置 1、简介 CSV数据文件配置(CSV Data Set Config)可以将CSV文件中数据读入自定义变量中 Jmeter中CSV数据文件配置的界面如下图所示: 其中: (1)文件编码 文件的编码格式,与所…

Element-UI 多个el-upload组件自定义上传,不用上传url,并且携带自定义传参(文件序号)

1. 需求: 有多个(不确定具体数量)的upload组件,每个都需要单独上传获取文件(JS File类型),不需要action上传到指定url,自定义上传动作和http操作。而且因为不确定组件数量&#xff0…

【计算机网络】TCP握手与挥手:三步奏和四步曲

这里写目录标题 前言三次握手四次挥手三次握手和四次挥手的作用TCP三次握手的作用建立连接防止已失效的连接请求建立连接防止重复连接 TCP四次挥手的作用:安全关闭连接避免数据丢失避免半开连接 总结: 总结 前言 TCP(传输控制协议&#xff09…

Mac M1 Parallels CentOS7.9 Deploy Typecho

一、创建名称空间 kubectl create ns prod二、创建PV & PVC vim local-pv1.yamlapiVersion: v1 kind: PersistentVolume metadata:name: local-pv-1 spec:capacity:storage: 1GiaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: RetainstorageClassName: loca…

【Python】模块

🚩 WRITE IN FRONT 🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…

初识计算机图形学

初识计算机图形学 笔记来源:【老奇】阴差阳错 撼动世界的游戏引擎 1.MVP Transformation 详见本人博客: 1.Transformation 2.梳理从MVP变换到光栅化的过程 MVP变换将空间中3D物体投影到2D屏幕 2.Rasterization 详见本人博客: 1.Rasteri…

linux下vsc的自动切换输入法解决方案

前言 个人使用的是Linux开发加上vsc编辑器,这两个东西一加中国开发者大致上就消失不见了,眼馋idea那个Smartinput很久了,赶上放假了,有空搞搞,如果后期有心情会做的通用点 安装 商店搜索SmartInputLinux安装 使用…

用C语言实现简单的三子棋游戏

目录 1 -> 模块简介 2 -> test.c 3 -> game.c 4 -> game.h 1 -> 模块简介 test.c:测试游戏逻辑 game.c: 函数的实现 game.h:函数的声明 2 -> test.c #define _CRT_SECURE_NO_WARNINGS 1#include "game.h";void menu() {printf("****…

考试查分场景重保背后,我们如何进行可用性测试

作者:暮角 随着通过互联网音视频与知识建立连接的新学习方式在全国范围内迅速普及,在线教育/认证考试的用户规模呈井喷式增长。但教育容不得半点马虎与妥协,伴随用户规模不断增长,保证系统稳定性、有效避免千万考生考试时遭遇故障…

React 初次接触

背景 还是为了完善高大上的在线文档系统,虽然比着葫芦画瓢的修改了一些所谓的代码,慢慢的才发现,原来这就是传说中的React,所以有比较又要囫囵吞枣一下React。 基本原理 参照《React技术揭秘》 网上有电子版 ,应该是…

Vue2:全局事件总线

一、场景描述 之前我们学习了,通过props实现父子组件之间的通信。通过自定义组件,实现了子给父传递数据。 那么,兄弟关系的组件,如何通信了?任意组件间如何通信了? 这个时候,就要学习全局事件总…

CentOS 7安装Java并配置环境

一、安装Java环境 1、检查系统是否安装Java [rootlocalhost ~]# java -version 2、更新系统软件包 [rootlocalhost ~]# yum update #遇到[y/n],选择y并回车,耐心等待下载完毕,之后系统会自动检验更新的软件包遇到 /var/run/yum.pid 已被锁定 /var/…

Python常用的高频内置函数之一:setattr()

Python常用的高频内置函数之一:setattr() Python作为一门功能强大的编程语言,提供了众多内置函数来简化开发过程。其中之一是setattr()函数,它允许程序员动态地设置对象的属性。本文将介绍setattr()函数的基本用法和示例,帮助读者…

原生微信小程AR序实现模型动画播放只播放一次,且停留在最后一秒

1.效果展示 0868d9b9f56517a9a07dfc180cddecb2 2.微信小程序AR是2023年初发布,还有很多问提(比如glb模型不能直接播放最后一帧;AR识别不了金属、玻璃材质的模型等…有问题解决了的小伙伴记得告诉我一声) 微信官方文档地址 3.代码…

用红黑树封装实现map与set

红黑树 红黑树 ,是一种 二叉搜索树 ,但 在每个结点上增加一个存储位表示结点的颜色,可以是 Red 或 Black 。 通过对 任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路 径会比其他路径长出俩倍 &#xff…

CleanMyMac X .4.14.7如何清理 Mac 系统?

细心的用户发现苹果Mac电脑越用越慢,其实这种情况是正常的,mac电脑用久了会产生很多的缓存文件,如果不及时清理会影响运行速度。Mac系统在使用过程中都会产生大量系统垃圾,如不需要的系统语言安装包,视频网站缓存文件&…

嵌入式-Stm32-江科大基于标准库的GPIO4个小实验

文章目录 一 、硬件介绍二 、实验:LED闪烁、LED流水灯、蜂鸣器提示2.1 需求1:面包板上的LED以1s为周期进行闪烁。亮0.5s,灭0.5s.....2.2 需求2: 8个LED实现流水灯2.3 需求3:蜂鸣器不断地发出滴滴、滴滴.....的提示音。蜂鸣器低电平触发。 三、…

【elementUI】el-select相关问题

官方使用DEMO <template><el-select v-model"value" placeholder"请选择"><el-optionv-for"item in options":key"item.value":label"item.label":value"item.value"></el-option></…

测试用例评审流程

1:评审的过程 A:开始前做好如下准备 1、确定需要评审的原因 2、确定进行评审的时机 3、确定参与评审人员 4、明确评审的内容 5、确定评审结束标准 6、提前至少一天将需要评审的内容以邮件的形式发送给评审会议相关人员。并注明详审时间、地点及偿参与人员等。 7、 在邮件中提醒…

P2P DMA并不是所有场景都会有性能提升

P2P (Peer-to-Peer) DMA技术理论上可以带来性能提升&#xff0c;特别是在特定的工作负载和场景下。例如&#xff0c;当两个高速设备&#xff08;如GPU与NVMe SSD&#xff09;需要频繁进行大量数据交换时&#xff0c;通过P2P DMA&#xff0c;数据可以直接在设备间传输&#xff0…