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文件和文件夹。
我用这种方式:
- 烧瓶文件夹和文件结构 – > https://gist.github.com/4545740
这是Django结构附近
我build议你看看一些项目给你想要的东西
- danjac / newsmeme – Bitbucket – > https://bitbucket.org/danjac/newsmeme/overview
- sean- / flask-skeleton·GitHub – > https://github.com/sean-/flask-skeleton
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.html
, layout.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模板获得启发,以启动您的应用程序开发