python flask 怎么组织公用模块

Python019

python flask 怎么组织公用模块,第1张

首先要说明,flask项目中不可能总是只有一个应用,你这里只有一个app应用。在__init__.py中导入views,models等模块是为了方便同级文件或其他文件导入它们。例如你可能需要在views.py中导入models, 你只需要from app.models import ...,如果你在这个flask项目中需要一个RESTful服务,它和app在同级,它需要app中的一些模块的话,导入的时候只需要from app.models import ...。

实际上,即使不在__init__.py中导入,你在其他模块中调用时也是可以的。

不算重复,因为views.py中要使用到app这个实例对象。比如@app.route()。

在 Python 包的顶级目录下存放主要的模块文件可以使这些模块文件在其他 Python 代码中更方便地被导入和使用。

Python 中的包是一种组织 Python 代码的方式,可以将相关的模块和函数分组在一起,方便代码的维护和使用。包是一个目录,它包含一个特殊的文件 __init__.py,这个文件可以是空的,也可以包含 Python 代码,在导入包时会被执行。

在包的顶级目录下存放主要的模块文件,可以方便地将这些模块文件导入到其他 Python 代码中,而不用关心这些模块文件的具体位置。例如,假设有一个包 mypackage,包含两个模块文件 module1.py 和 module2.py,如果将这两个模块文件放在包的顶级目录下,就可以在其他 Python 代码中用以下方式导入这两个模块:

import mypackage.module1

import mypackage.module2

如果将这两个模块文件放在包的子目录下,则需要在导入时指定子目录的名称。例如:

import mypackage.subdir.module1

import mypackage.subdir.module2

这样会使导入的语句变得复杂,不利于代码的阅读和维护。因此,通常将主要的模块存放在顶级目录下方便调用。