Flask-放置功能逻辑的最佳位置在哪里?

时间:2019-10-02 08:50:43

标签: python flask

我对flask还是很陌生,在创建新项目时一直在阅读有关Blueprints的用法。我目前正在为自己创建一个小型个人网站,但是我对应该在哪里进行某些处理有一些疑问。

说我想从数据库中检索一些博客文章,我可以创建一个模型并使用它来检索我想要的所有数据,但是我目前正计划编写代码以启动对数据库中博客文章的检索。视图路线,我觉得这是一种错误的方法,应该从视图文件中删除尽可能多的逻辑...?

如果这个假设是正确的,那么通常将所有功能逻辑放在哪里?您是否会在应用程序内创建一个帮助程序文件,并将该文件专用于处理所有自定义逻辑?

1 个答案:

答案 0 :(得分:0)

您发现的大多数代码库都具有MVC结构

  1. M =模型
  2. V =视图
  3. C =控制器

Models文件夹将包含“ models”,这基本上是一个类的花哨术语,这些类能够与您的关系数据库中的特定表进行交互。

Views文件夹将包含您可以呈现的所有html模板。

Controllers文件夹将包含控制器,它们基本上是路由,由其他服务或您的前端调用。

将“业务/功能逻辑”分离到名为“管理器”的文件夹中也是一个好习惯。

假设您有一个名为resource_controller的控制器,您可以在此处编写用于处理对与此资源有关的路由的API请求的逻辑。 resource_controller的所有业务逻辑应保存在resource_manager中。所有对数据的检索,操作应由resource_manager处理。您还需要一个resource模型。 resource的工作是对数据库执行CRUD操作,并将必要的数据返回到resource_manager,后者将依次将数据处理为信息并将其传递给resource_controller 。您可以根据需要从resource_controller返回已处理的数据。

您可能还会有一个helper文件,其中包含多个管理员共享的代码。