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

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

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

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

  • Python中的营业日
  • Perl,Python,AWK和sed有什么区别?
  • 如何用pymongo对mongodb进行sorting
  • 为什么比list()更快?
  • 如何在Python2.7的unittest中显示由assertRaises()捕获的错误消息?
  • 在pylab中更改graphics窗口标题
  • Python中的多重线性回归
  • 按列sortingcsv
  • 5 Solutions collect form web for “Flask应用程序中的常用文件夹/文件结构”

    您应该查看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模板获得启发,以启动您的应用程序开发