Flask应用程序中的常用文件夹/文件结构

我刚刚创build了一个烧瓶应用程序,到目前为止,我的“Hello World!”有一个路由器。 模板。

我想添加一些(很多)更多的function,但我不知道如何构build应用程序目录。

构buildFlask应用程序的最常用方法是什么? 例如,我应该创build一个routes.py所有我的路线? SQLAlchemy的东西去哪了? 模型应该在models.py吗?

您应该查看Flask文档的Patterns部分中的Larger Applications页面: http : //flask.pocoo.org/docs/patterns/packages/ 。 这似乎是大多数人在应用程序调用包而不是模块时遵循的模型。

我相信views.py是你所说的routes.py 。 之后,模型将在models.py ,表单将在forms.py

我认为烧瓶是微观框架,现在你必须决定如何创build文件和文件夹。

我用这种方式:

这是Django结构附近

我build议你看看一些项目给你想要的东西

FlaskApp目录的一个例子:

 yourapp/ /yourapp /run.py /config.py /yourapp /__init__.py /views.py /models.py /static/ /main.css /templates/ /base.html /requirements.txt /yourappenv 

run.py – 包含将导入应用程序并启动开发服务器的实际Python代码。
config.py – 存储你的应用程序的configuration。
__init__.py – 初始化您的应用程序创build一个Flask应用程序实例。
views.py – 这是routes被定义的地方。
models.py – 这是您为应用程序定义模型的地方。
static – 包含静态文件,即CSS,Javascript,图像
templates – 这是你存储你的html模板,即index.htmllayout.html
requirements.txt – 这是你存储你的软件包依赖的地方,你可以使用pip
yourappenv – 您的虚拟发展环境

我会说,如果你分裂应用程序使用分区而不是function结构。 我提倡这一点,因为您一次可以在这些部门中的一个部门工作。

这种types的结构适用于不同用户组使用不同types视图的市场或SaaS应用程序。 API只有烧瓶的应用程序我可能会使用function拆分。

这里是Flask蓝图的例子。 蓝图基本上是文件化的build议如何分割Flask应用程序更易于pipe理的部分。 更多信息,请访问: http : //exploreflask.com/en/latest/blueprints.html

这是一个分裂分裂的例子。 了解每个function如何组合在一起。

 yourapp/ __init__.py admin/ __init__.py views.py static/ templates/ home/ __init__.py views.py static/ templates/ control_panel/ __init__.py views.py static/ templates/ models.py 

这是function性示例>

 yourapp/ __init__.py static/ templates/ home/ control_panel/ admin/ views/ __init__.py home.py control_panel.py admin.py models.py 

您可以从这里的cookiecutter模板获得启发,以启动您的应用程序开发