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

news2024/11/18 0:17:06

第一部分 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.coloradmin.cn/o/1396574.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue 2生命周期已达终点,正式结束使命

Vue.js是一款流行的JavaScript框架,拥有广泛的应用和开发者社区。自Vue.js 2发布以来,它在前端开发中扮演了重要角色,并且被广泛采用。然而,技术的发展是无法阻挡的,随着2024年的到来,Vue 2的生命周期也走到…

Multi-Concept Customization of Text-to-Image Diffusion——【论文笔记】

本文发表于CVPR 2023 论文地址:CVPR 2023 Open Access Repository (thecvf.com) Github官方代码地址: github.com 一、Intorduction 最近的文本到图像模型能够根据文本提示生成高质量的图像,可以覆盖广泛的物体、风格和场景。尽管这些模型…

Java方法及方法重载的详解

目录 一、方法的概念及使用 1.1 方法的概念 1.2 方法的定义 1.3 方法调用的执行过程 1.4 实参和形参的关系 1.5 没有返回值的方法 二、方法的重载 2.1 方法重载存在的原因 2.2 方法重载的概念 一、方法的概念及使用 1.1 方法的概念 方法就是一个代码片段. 类似于 C …

6.4.1认识Amor SWF to Video Converter2

6.4.1认识Amor SWF to Video Converter2 安装完Amor SWF to Video Converter2 (本书使用Amor SWF to Video Converter2.4.9版本)后,单击【开始】|【程序】|【Amor SWF to Video Converter】|【Amor SWF to Video Converter】,启动Amor SWF to Video Con…

软件测试阶段简介_单元测试、集成测试、配置项测试、系统测试

文章目录 前言一、软件测试“V”模型二、单元测试三、集成测试四、配置项测试五、系统测试总结 前言 一般来说,按照软件的研制阶段划分,软件测试可分为单元测试、集成测试、配置项测试、系统测试等。本文将对上述各测试阶段进行逐一介绍。 一、软件测试…

K8S Informer机制原理解读 | Reflector

Reflector Informer可以对Kubernetes API Server的资源执行监控(Watch)操作,资源类型可以是Kubernetes内置资源,也可以是CRD自定义资源,其中最核心的功能是Reflector。Reflector用于监控指定资源的Kubernetes资源&…

CSS 实现卡片以及鼠标移入特效

CSS 实现卡片以及鼠标移入特效 文章目录 CSS 实现卡片以及鼠标移入特效0、效果预览默认鼠标移入后 1、创建卡片组件2、添加样式3、完整代码 0、效果预览 默认 鼠标移入后 在本篇博客中,我们将探讨如何使用 CSS 来实现卡片组件,并添加鼠标移入特效&#…

中顺洁柔宣布:年底前发出1.3亿年终奖金

1月15日,中顺洁柔在广东中山顺利举行了2023年的年度会议。会议上,该企业宣布2023年公司销售和生产条线基层员工收入增幅10%,并将发出1.3亿元的年终奖金。在年华交替之际,这一举措成为了行业瞩目的焦点。 年会上,中顺洁…

防爆气象站需要如何维护

TH-FBCQX2 在工业生产中,防爆气象站是保障安全生产的重要设备之一。由于其特殊的使用环境和功能,防爆气象站的维护保养工作显得尤为重要。 一、日常维护保养 清洁:防爆气象站的外部和内部组件需要定期清洁,以去除灰尘、油渍和杂质…

分类预测 | Matlab实现ISSA-SVM基于多策略混合改进的麻雀搜索算法优化支持向量机的数据分类预测

分类预测 | Matlab实现ISSA-SVM基于多策略混合改进的麻雀搜索算法优化支持向量机的数据分类预测 目录 分类预测 | Matlab实现ISSA-SVM基于多策略混合改进的麻雀搜索算法优化支持向量机的数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 基于多策略混合改进的麻…

Kafka Console Client 的 Consumer Group

以往使用 kafka-console-consumer.sh 消费 Kafka 消息时并没有太在意过 Consumer Group,在命令行中也不会使用 --group 参数,本文针对 Kafka Console Client 命令行中的 Consumer Group 进行一次统一说明。 1. 如不设置 --group 参数会自动生成一个 Con…

Flink编程——风险欺诈检测

Flink 风险欺诈检测 文章目录 Flink 风险欺诈检测背景准备条件FraudDetectionJob.javaFraudDetector.java 代码分析执行环境创建数据源对事件分区 & 欺诈检测输出结果运行作业欺诈检测器 欺诈检测器 v1:状态欺诈检测器 v2:状态 时间完整的程序期望的…

vue:菜单栏联动内容页面tab

一、需求 需要实现效果:左侧菜单栏与右侧内容部分联动,当点击左侧的菜单,右侧会展示对应的tab,没有点击时,不展示(如刚进入页面没有点击菜单,则没有tab);点击后没有关闭…

Java 设计者模式以及与Spring关系(一)单例和建造者模式

简介: 本文是个系列一次会出两个设计者模式作用,如果有关联就三个,除此外还会讲解在spring中作用。 23设计者模式以及重点模式 我们都知道设计者模式有3类23种设计模式,标红是特别重要的设计者模式建议都会,而且熟读于心。标蓝是…

计算机毕业设计 基于SpringBoot的红色革命文物征集管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

C#,因数分解(质因子分解)Pollard‘s Rho算法的源代码

因数分解(也称为质因子分解):将一个大整数分解它的质因子之乘积的算法。 Pollard Rho算法的基本思路:先判断当前数是否是素数(质数),如果是,则直接返回。如果不是,继续找…

ubuntu源码安装MySQL

mysql下载路径 创建新数组 mysql sudo groupadd mysql# 创建用户 mysql ,指定属组为 mysql,禁止其登录 # --no-create-home选项,创建用户时不会自动创建主目录 sudo adduser --system --no-create-home --ingroup mysql --shell /sbin/nologin mysql创…

#Pytorch 使用DDP训练第一轮,验证后第二轮卡住

问题:在使用DDP分布式训练的时候,在第一轮训练后验证结果,在第二轮开始时就卡住了。因为设置了dist.barrier(),所以只有第一个GPU跑了验证,在第二轮时只有第一个GPU的模型在,其他卡的模型都被阻塞住了。 解…

NOIP2011提高组day1 - T3:Mayan游戏(玛雅游戏)

题目链接 [NOIP2011 提高组] Mayan 游戏 题目描述 Mayan puzzle 是最近流行起来的一个游戏。游戏界面是一个 7 7 7 行 5 \times5 5 列的棋盘,上面堆放着一些方块,方块不能悬空堆放,即方块必须放在最下面一行,或者放在其他方块…

bug笔记:解决 HTTP Error 500.30 - ASP.NET Core app failed to start

总结下后端部署windos iis环境net6版本,500.30问题报错的一种解决方案: 一、问题描述 二、解决方案 检查下是否安装了net6对应的环境,是否已经安装 然后在事件管理器>Windows日志>应用程序,里面查看详细异常记录 在iis下面…