1. 做好准备工作
- 进入项目主目录
- 激活虚拟环境
2. 创建app包:
在flask中,含有名为 __init__.py 文件的子目录被视为包,可以被导入。
在命令行输入以下命令,创建一个名为app的目录:
(venv) $ mkdir app
在app目录中创建一个名为__init__.py的文件,包含以下代码:
app/__init__.py
from flask import Flask
app = Flask(__name__)
from app import routes
上面的脚本从flask包中导入了Flask类,并创建了一个应用实例。传递给Flask类的 __name__ 变量是一个Python预定义变量,这个变量被设置为使用它的模块的名称。当Flask需要加载相关资源如模板文件时,会将此处传递的模块的位置作为起点。在实际使用中,一般都会通过传递__name__变量配置Flask。然后,应用导入了现在还不存在的routes模块。
此处出现了2个app。app所在的目录和__init__.py 脚本定义定义了app包,并由 from app import routes语句引用。而app变量则是__init__.py 脚本中Flask类的实例,使之成为app包的一员。
另一个要注意的是routes模块是在脚本底部而不是顶部导入的。底部导入是循环导入的替代方法,是Flask应用的常见问题。因为接下来routes模块需要导入这个脚本中定义的app变