gpt4 book ai didi

Python数据库应用框架和工具

转载 作者:太空狗 更新时间:2023-10-29 19:37:07 25 4
gpt4 key购买 nike

我一直在构建业务数据库应用程序,例如财务、库存和其他业务需求应用程序。我打算转向 Python。最好的开始工具是什么。我需要做主人、交易表格、处理(后端)、报告和诸如此类的事情。数据库将是 postgress 或 mysql。由于我是 Python 的新手,我知道除了 Python 之外我还需要 ORM 和一个框架。我的应用程序与网站无关,但如果需要,也可能需要通过网络完成。

如何选择工具组合的初始设置?

最佳答案

如果我是您,我可能会首先查看基于 Django 的基于 Web 的解决方案是否可以解决问题。如果您需要更好的外观和感觉,请将 jQuery 添加到组合中。如果它提供的功能太少,请选择 PyQt。如果您有很多非常小的应用程序,请选择混合技术。在下面,您会发现我(有点冗长)对此建议的推理。

网络应用与桌面应用

一年前,我们有一个业务数据库,需要一个前端。我们必须决定前端使用什么技术。我们考虑了:

  1. PyQt
  2. 基于网络(查看 here 以了解 Python 网络框架的概述)

从我们的角度来看,PyQt 的优势:

  • 以前使用 Qt 的 C++ 经验从中我们知道 Qt 适合这项任务。
  • 包括所有必要的工具。
  • 易于开发富客户。

然而,我们决定不使用 PyQt,而是使用基于 Web 的解决方案。原因是:

  • 对前端的要求不高,而且很容易在浏览器中完成(主要是报告,一些用于输入数据或运行功能的表格)。
  • 应用程序的部署(以及新版本、错误修复等)一切都只发生在受控环境中的服务器上,因此要容易得多。
  • 访问控制/身份验证/权限是“免费”的,因为它是服务器(在我们的示例中使用 Active Directory 身份验证的 Apache)和浏览器的一部分,这对我们很重要。
  • 无论如何,应用程序都需要服务器连接,并且不必在客户端存储任何内容。

简而言之:在受控部署环境中具有大量功能的功能丰富的前端可能更容易使用 Qt 实现。对于我们的轻量级前端,基于服务器的解决方案对我们来说似乎更好。

哪个网络框架?

既然我们已经决定了一项技术,我们就必须选择一个框架。我们进行了一些研究,并详细研究了两个备选方案:

  1. Django
  2. 一堆软件,包括 CherryPy作为调度程序(将 http 请求与功能和所有相关内容相匹配),Mako作为生成网页的模板库,SQLAlchemy作为 ORM,和 jQuery用于客户端功能。

我们评估了两种选择,最后选择了第二种。这个决定是由我们真正的“轻量级”前端需求(很多非常小的应用程序)驱动的。一堆软件——我们可以根据需要混合搭配——对我们来说似乎更好。我们可以在不需要 Web 前端的情况下重新使用 SQLAlchemy,我们可以只使用 CherryPy 而无需模板库和 ORM,等等。然而,在许多其他情况下,我会选择 Django 而不是这个堆栈。

总结:

  • 一个大而复杂的应用程序 -> PyQt
  • 一组相对相似、直接的报告、表格等,具有统一的外观 -> Django
  • 一组相对多样化的事物,在要求和使用的技术或在其他情况下重复使用某些技术方面差异很大 -> 根据需要混合技术

关于Python数据库应用框架和工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1020775/

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