Flask01 第一个flask项目

参考地址:https://github.com/miguelgrinberg/microblog/tree/v0.1

flask环境【苹果M1】

添加虚拟环境

python3 -m venv venv 

使用这个命令来让Python运行 venv 包,它会创建一个名为 venv 的虚拟环境,虚拟环境名称为venv,我习惯在项目目录中创建了名为 venv 的虚拟环境,所以无论何时 cd 到一个项目中,都会找到相应的虚拟环境。

不管你用什么方法创建虚拟环境,创建完毕之后还需要激活才能够进入这个虚拟环境。 要激活你的全新虚拟环境,需使用以下命令:

source venv/bin/activate 

激活一个虚拟环境,终端会话的环境配置就会被修改(前面会有小括号,虚拟环境名称),之后你键入 python 的时候,实际上是调用的虚拟环境中的Python解释器。

此外,终端提示符也被修改成包含被激活的虚拟环境的名称的格式。
这种激活是临时的和私有的,因此在关闭终端窗口时它们将不会保留,也不会影响其他的会话。
那么,当你需要同时打开多个终端窗口来调试不同的应用时,每个终端窗口都可以激活不同的虚拟环境而不会相互影响。
成功创建和激活了虚拟环境之后,你可以安装Flask了,命令如下:

pip3 install flask 

Flask01 第一个flask项目

之前已经下载过flask了,提示Requirement already satisfied。正常情况下是successfull.

flask应用

项目结构如图
Flask01 第一个flask项目

python文件夹下有__init__.py,就是一个python包,可以被import导包。 app 包由app目录和 init.py 脚本来定义构成,并在 from app import routes 语句中被引用。

在Flask中,应用程序路由的处理逻辑被编写为Python函数,称为视图函数。 视图函数被映射到一个或多个路由URL,以便Flask知道当客户端请求给定的URL时执行什么逻辑。
app/routes.py中的第一个视图函数的代码:

from app import app   @app.route('/') @app.route('/index') def index():     return 'Hello Worold! index ...lalala' 

两个装饰器,它们将URL / 和 /index 索引关联到这个函数。 这意味着,当Web浏览器请求这两个URL中的任何一个时,Flask将调用该函数并将其返回值作为响应传递回浏览器。

Flask应用程序实例被称为 app ,是 app 包的成员。 from app import app 语句从 app 包导入其成员 app 变量。

启动文件flaskProject.py只有一行代码,文件名也有叫app.py 的也有叫manager.py的

from app import app

在运行之前,需要通过设置FLASK_APP 环境变量告诉Flask如何导入它:

export FLASK_APP=flaskProject.py

提醒一下你,在终端会话中直接设置的环境变量不会永久生效,因此你不得不在每次新开终端时设定 FLASK_APP 环境变量,从 1.0 版本开始,Flask 允许你设置只会在运行 flask 命令时自动注册生效的环境变量,要实现这点,你需要安装
python-dotenv :

pip3 install python-dotenv 

此时,在项目的根目录下新建一个名为 .flaskenv 的文件,其内容是:

FLASK_APP=microblog.py 

通过此项设置, FLASK_APP 就可以自动加载了。
Flask01 第一个flask项目

如果你钟爱手动设定环境变量,那也不错,只是记得每次启动终端后要设定它。命令为:
export FLASK_APP=flaskProject.py

配置了.flaskenv环境的运行效果如下:
Flask01 第一个flask项目

Flask01 第一个flask项目

发表评论

相关文章