元数据

Flask Web开发实战:入门、进阶与原理解析 (Web开发技术丛书)

高亮划线

1.4 Python Shell

📌 Web框架可以让我们不用关心底层的请求响应处理,更方便高效地编写Web程序。因为Flask核心简单且易于扩展,所以被称作微框架(micro framework)。Flask有两个主要依赖,一个是WSGI(Web Server Gateway Interface,Web服务器网关接口)工具集——Werkzeug(http://werkzeug.pocoo.org/ ),另一个是Jinja2模板引擎(http://jinja.pocoo.org/ )。 ⏱ 2024-01-03 23:47:03

📌 而Jinja指日本神社,因为神社(庙)的英文temple与template(模板)相近而得名。 ⏱ 2024-01-03 23:48:37

📌 WSGI(Web Server Gateway Interface)是Python中用来规定Web服务器如何与Python Web程序进行沟通的标准, ⏱ 2024-01-03 23:50:58

1.5 Flask扩展

📌 Pipenv是基于pip的Python包管理工具,它和pip的用法非常相似,可以看作pip的加强版,它的出现解决了旧的pip+virtualenv+requirements.txt的工作方式的弊端。具体来说,它是pip、Pipfile和Virtualenv的结合体,它让包安装、包依赖管理和虚拟环境管理更加方便,使用它可以实现高效的Python项目开发工作流。 ⏱ 2024-01-03 23:52:43

📌 PyPI中的包名称不区分大小写。出于方便的考虑,后面的安装命令都将使用小写名称。 ⏱ 2024-01-03 23:54:25

📌 在Python中,虚拟环境(virtual enviroment)就是隔离的Python解释器环境。通过创建虚拟环境,你可以拥有一个独立的Python解释器环境。这样做的好处是可以为每一个项目创建独立的Python解释器环境,因为不同的项目常常会依赖不同版本的库或Python版本。使用虚拟环境可以保持全局Python解释器环境的干净,避免包和版本的混乱,并且可以方便地区分和记录每个项目的依赖,以便在新环境下复现依赖环境。 ⏱ 2024-01-03 23:54:37

📌 虚拟环境通常使用Virtualenv来创建,但是为了更方便地管理虚拟环境和依赖包,我们将会使用集成了Virtualenv的Pipenv。 ⏱ 2024-01-03 23:54:45

📌 pipenv install命令为当前的项目创建虚拟环境 ⏱ 2024-01-04 00:00:05

📌 因为示例程序仓库里包含Pipfile文件,所以这个文件中列出的依赖包也会一并被安装, ⏱ 2024-01-04 00:00:23

📌 Pipenv会统一管理所有虚拟环境。 ⏱ 2024-01-04 00:00:38

📌 如果你想在项目目录内创建虚拟环境文件夹,可以设置环境变量PIPENV_VENV_IN_PROJECT,这时名为.venv的虚拟环境文件夹将在项目根目录被创建。 ⏱ 2024-01-04 00:01:58

📌 你可以通过—three和—two选项来声明虚拟环境中使用的Python版本(分别对应Python3和Python2),或是使用—python选项指定具体的版本号。 ⏱ 2024-01-04 00:12:03

📌 但requirements.txt需要手动维护,在使用上不够灵活。Pipfile的出现就是为了替代难于管理的requirements.txt。 ⏱ 2024-01-04 00:13:08

📌 你可以使用pipenv graph命令查看当前环境下的依赖情况,或是在虚拟环境中使用pip list命令查看依赖列表。 ⏱ 2024-01-04 00:13:30

📌 后面我们都将使用Pipenv安装包,这相当于在激活虚拟环境的情况下使用pip安装包。只有需要在全局环境下安装/更新/删除包,我们才会使用pip。 ⏱ 2024-01-04 00:18:04

1.8 Flask命令

📌 传入Flask类构造方法的第一个参数是模块或包的名称,我们应该使用特殊变量__name__。Python会根据所处的模块来赋予__name__变量相应的值,对于我们的程序来说(app.py),这个值为app。 ⏱ 2024-01-08 15:42:13

📌 我们要做的只是建立处理请求的函数,并为其定义对应的URL规则。只需为函数附加app.route()装饰器,并传入URL规则作为参数,我们就可以让URL与函数建立关联。这个过程我们称为注册路由(route),路由负责管理URL和函数之间的映射,而这个函数则被称为视图函数(view function)。 ⏱ 2024-01-08 15:43:05

📌 route()装饰器的第一个参数是URL规则,用字符串表示,必须以斜杠(/)开始。这里的URL是相对URL(又称为内部URL),即不包含域名的URL。 ⏱ 2024-01-08 15:53:33

📌 一个视图函数可以绑定多个URL,比如下面的代码把/hi和/hello都绑定到say_hello()函数上,这就会为say_hello视图注册两个路由,用户访问这两个URL均会触发say_hello()函数,获得相同的响应, ⏱ 2024-01-08 15:53:58

📌 我们不仅可以为视图函数绑定多个URL,还可以在URL规则中添加变量部分,使用“<变量名>”的形式表示。Flask处理请求时会把变量传入视图函数,所以我们可以添加参数获取这个变量值。 ⏱ 2024-01-08 15:55:45

📌 当URL规则中包含变量时,如果用户访问的URL中没有添加变量,比如/greet,那么Flask在匹配失败后会返回一个404错误响应。一个很常见的行为是在app.route()装饰器里使用defaults参数设置URL变量的默认值,这个参数接收字典作为输入,存储URL变量和默认值的映射。 ⏱ 2024-01-08 15:57:00

读书笔记

1.5 Flask扩展

划线评论

📌 虚拟环境通常使用Virtualenv来创建,但是为了更方便地管理虚拟环境和依赖包,我们将会使用集成了Virtualenv的Pipenv。 ^8292450-7O3Nzw2Vf - 💭 - ⏱ 2024-01-08 09:28:05

划线评论

📌 [插图] 附注 默认情况下,Pipenv会统一管理所有虚拟环境。在Windows系统中,虚拟环境文件夹会在C:\Users\Administrator.virtualenvs\目录下创建,而Linux或macOS会在~/.local/share/virtualenvs/目录下创建。如果你想在项目目录内创建虚拟环境文件夹,可以设置环境变量PIPENV_VENV_IN_PROJECT,这时名为.venv的虚拟环境文件夹将在项目根目录被创建。 ^8292450-7NX7Ud80w - 💭 - ⏱ 2024-01-04 00:11:52

划线评论

📌 [插图] 注意 在Windows系统中使用pipenv shell激活虚拟环境时,虽然激活成功,但是命令行提示符前不会显示虚拟环境名称。 除了显式地激活虚拟环境,Pipenv还提供了一个pipenv run命令,这个命令允许你不显式激活虚拟环境即可在当前项目的虚拟环境中执行命令,比如:

- 💭 

- ⏱ 2024-01-04 00:12:55

划线评论

📌 后面我们都将使用Pipenv安装包,这相当于在激活虚拟环境的情况下使用pip安装包。只有需要在全局环境下安装/更新/删除包,我们才会使用pip。 ^8292450-7O3NzzFGJ - 💭 - ⏱ 2024-01-08 09:28:06

本书评论