第 1 章 安装Flask

在大多数标准中,Flask都算是小型框架,小到可以称为"微框架"。Flask非常小,因此你一旦能够熟练使用它,很可能就能读懂它所有的源码。

但是,小并不意味着它比其他框架的功能少。Flask自开发伊始就被设计为可扩展的框架,它具有一个包含基本服务的强健核心,其他功能则可通过扩展实现。你可以自己挑选所需的扩展包,组成一个没有附加功能的精益组合,完全满足自身需求。

Flask有3个主要依赖:路由、调试和Web服务器网关接口(WSGI,Web server gateway interface)子系统由Werkzeug8提供;模板系统由Jinja2提供;命令行集成由Click提供。这些依赖全都是Flask的开发者Armin Ronacher开发的。

Flask原生不支持数据库访问、Web表单验证和用户身份验证等高级功能。这些功能以及其他大多数Web应用需要的核心服务都以扩展的形式实现,然后再与核心包集成。开发者可以任意挑选符合项目需求的扩展,甚至可以自行开发。这和大型框架的做法相反,大型框架往往已经替你做出了大多数决定,难以(有时甚至不允许)使用替代方案。

本章介绍如何安装Flask。在这个过程中,你只需要一台安装了Python的计算机。

本书中的代码示例已在Python 3.5和Python 3.6中测试过。如果你愿意,也可以使用Python 2.7。不过这一版将在2020年后停止维护,因此强烈建议你使用3.x版。

如果你决定使用运行微软Windows系统的计算机,那么要做个选择:要么使用基于Windows的"原生"工具集,要么设置计算机,沿用基于Unix的主流工具集。本书中的代码基本上在两种方式下都能正常运行。本书采用Windows方式,IDE采用Visual Studio Code。

1.1 创建应用目录

首先,从GitHub或者百度云盘下载的示例代码ZIP,直接解压至工作硬盘中,例如D盘。我们将从第1章第1个示例代码开始开始。Win10键盘同时按下win+R,打开CMD,运行:

$ C:\Users\Administrator>d:

$ cd d:/flasky/flasky-1a

此时便进入了flasky-1a源代码文件夹,别急,我们还得先建立虚拟环境,用来执行这个项目(本书)的所有源代码。

对于新项目,可以在Windows新建文件夹,也可以使用CMD命令,见下表:

表1-1 常用CMD命令

|-----------------|-------------------------------------------|
| 命令 | 说明 |
| cd .. | 返回上一级 |
| md test | 新建test文件夹 |
| md d:\test\my | d盘下新建文件夹 |
| cd test | 进入test文件夹 |
| cd.>cc.txt | 新建cc.txt文件 |
| dir | 列出文件夹下所有文件及文件夹 |
| del a.txt | 删除a.txt的文件 |
| del *.txt | 删除所有后缀为.txt的文件 |
| rd test | 删除名为test的空文件夹 |
| rd /s d:\test | 删除D盘里的test文件夹会出现如下test,是否确认(Y/N)?直接输入Y再回车 |
| rd test/s | 删除此文件夹下的所有文件test,是否确认(Y/N)?直接输入Y再回车 |

以上CMD命令在日常项目中会经常用到,初学者在使用时通过搜索引擎查询即可。

相关推荐
喵手1 小时前
Python爬虫实战:旅游数据采集实战 - 携程&去哪儿酒店机票价格监控完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集结果csv导出·旅游数据采集·携程/去哪儿酒店机票价格监控
2501_944934732 小时前
高职大数据技术专业,CDA和Python认证优先考哪个?
大数据·开发语言·python
helloworldandy2 小时前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
肖永威3 小时前
macOS环境安装/卸载python实践笔记
笔记·python·macos
TechWJ3 小时前
PyPTO编程范式深度解读:让NPU开发像写Python一样简单
开发语言·python·cann·pypto
枷锁—sha3 小时前
【SRC】SQL注入WAF 绕过应对策略(二)
网络·数据库·python·sql·安全·网络安全
Coder_Boy_4 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
abluckyboy4 小时前
Java 实现求 n 的 n^n 次方的最后一位数字
java·python·算法
喵手4 小时前
Python爬虫实战:构建各地统计局数据发布板块的自动化索引爬虫(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集数据csv导出·采集各地统计局数据发布数据·统计局数据采集
掘金者阿豪5 小时前
关系数据库迁移的“暗礁”:金仓数据库如何规避数据完整性与一致性风险
后端