在Flask中开发时,我想将我的所有模型,控制器......放在它们自己的单独文件中。这样,我不必寻找任何控制器,在一个大文件模型;它保持一切清洁。它可能如下所示:将大型python文件拆分为具有公共依赖关系的模块
/controllers
__init__.py
login.py
logout.py
profile.py
所有这些文件都具有(几乎)相同的依赖关系。我不想一遍又一遍地在每个文件中放置所有的依赖关系。我提出的一个解决方案是使用depencies.py
文件,该文件导入所有依赖关系,然后将其包含在每个单独的文件中。
/controllers
__init__.py
dependencies.py (all the imports)
login.py (import dependencies.py)
logout.py (import dependencies.py)
profile.py (import dependencies.py)
但是,这不是一个非常优雅的解决方案。我想知道是否有可能做一些像__init__.py
这样的东西,它依赖于顶部,然后'包括'单独的文件,并且所有东西都以这种方式运行,所以你实际上不需要在每个文件中包含公共依赖关系文件。
的,我想怎么做例(不工作):在每个或文件
#common dependencies
from app import mail
from flask import session
...
#actual models (which depend on these dependencies)
from user import User
from code import Code
from role import Role
我只是把每一个模块的依赖关系的模块中。如果每个模块A B C具有所有相同的依赖关系X Y Z,那么可能有一些常见行为可以从A B C中提取出来并转换为D.然后,A B C可以取决于D而不是X Y Z. –