gpt4 book ai didi

postgresql - 为什么 Flask 应用程序需要 models.py?

转载 作者:行者123 更新时间:2023-11-29 12:32:55 25 4
gpt4 key购买 nike

作为一个webapp新手,我不确定是否需要定义models.py。

我已经在 Heroku 上有一个工作的 Postgres 数据库,我已经将它与 Postico 和 pgAdmin 连接起来。使用这些 GUI,我似乎可以非常简单地获取和发布数据,并进行结构更改。

大多数教程似乎都对拥有 models.py 的细节和推理不以为然。谢谢!

最佳答案

Web 框架通常强制或鼓励 Model-View-Controller (MVC) 模式构建代码,使数据库代码与表示层保持分离。

像django 这样的框架与ORM 一起提供并且更加集成。用于实现 MVC 框架的功能。 ORM 允许您以编程方式与数据库交互,而无需编写 sql 代码。它可以让您创建模式并通过将编程类映射到表以及将对象映射到行来与之交互。

Flask 可以区别于许多其他 Web 框架,例如 django,因为它被认为是一个微框架。它重量轻,可以通过添加扩展来扩展。如果您需要数据库集成,那么您可以将它与外部 ORM 工具一起使用,例如 sqlalchemy(以及可选的 flask-sqlalchemy 扩展)。然后,您可以定义一个 sqlalchemy 模型,例如,在名为 model.py 或 schema.py 的文件中,或者您认为合适的任何其他名称。

如果你只需要对现有的 postgres 数据库运行一两个查询并且觉得你不需要使用 ORM,你可以简单地使用带有 postgres 驱动程序的 flask 并自己编写 sql。模型不是强制性的。

模型/ORM 可能是有益的。例如,如果你想重新创建一个数据库的集成/测试实例,你可以指示 ORM 工具通过部署模型在另一台主机上创建一个新的数据库实例。模型还提供了对数据库的编程抽象,理论上应该使您的代码更加独立于数据库(理论上,很难实现这一点,因为数据库可能有细微差别),并且应该使您的代码与特定数据库的联系更少解决方案。此外,它还减轻了在一种语言中编写一种语言的需要(python 代码中的 sql 文本字符串)。

关于postgresql - 为什么 Flask 应用程序需要 models.py?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34190577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com