开发者社区> 问答> 正文

Python数据库应用程序框架和工具

我一直在构建业务数据库应用程序,例如财务,库存和其他业务需求应用程序。我正计划转向Python。什么是最好的工具。我需要做主数据,交易表格,处理(后端),报告之类的事情。该数据库将是postgress或mysql。当我刚接触Python时,我了解到除了Python之外,我还需要ORM和框架。我的应用程序与网站无关,但是如果需要,也可能需要通过网络来完成。

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

展开
收起
祖安文状元 2020-02-21 17:56:57 721 0
1 条回答
写回答
取消 提交回答
  • 如果您是我,那么我可能首先会看看是否基于Django的基于Web的解决方案可以解决问题。如果您需要更好的外观,请添加jQuery。如果它提供的功能太少,请使用PyQt。如果您有很多非常小的应用程序,则可以使用多种技术。在下面,您可以找到我的建议(有些冗长)。

    Webapp与桌面应用程序

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

    PyQt 基于网络的(请在此处查看Python的网络框架概述) 从我们的角度来看,PyQt的优势:

    以前的Qt C ++经验使我们知道Qt适合完成此任务。 包括所有必要的工具。 易于开发丰富的客户。 但是,我们决定不使用PyQt,而是选择基于Web的解决方案。原因是:

    前端的要求适中且易于在浏览器中完成(主要是报告,某些用于输入数据或运行功能的表格)。 由于一切都只在受控环境中的服务器上进行,因此应用程序(以及新版本,错误修复等)的部署要容易得多。 访问控制/身份验证/权限是“免费的”,因为它是服务器(在我们的示例中为Apache,使用Active Directory身份验证)和浏览器的一部分,这对我们很重要。 该应用程序仍然需要服务器连接,而不必在客户端存储任何内容。 简而言之:使用Qt可能更容易实现在受控部署环境中具有许多功能的功能丰富的前端。对于我们的轻量级前端,基于服务器的解决方案对我们而言似乎更好。

    哪个网络框架?

    现在我们已经决定了一项技术,我们必须选择一个框架。我们进行了一些研究,并详细研究了两种选择:

    Django的 一堆软件,其中包括CherryPy作为调度程序(以将http请求与功能及所有相关内容匹配),Mako作为用于生成网页的模板库,SQLAlchemy作为ORM以及用于客户端功能的jQuery组成。 我们评估了这两种选择,最后选择了第二种。该决定是由我们真正的“轻量级”前端需求(很多非常小的应用程序)决定的。一堆软件-我们可以根据需要进行混合和匹配-对我们来说似乎更好。在不需要Web前端的情况下,我们可以重用SQLAlchemy,而无需模板库和ORM即可使用CherryPy,等等。但是,在许多其他情况下,我会选择在该堆栈上使用Django。

    总结一下:

    一个大而复杂的应用程序-> PyQt 一组外观相似,策略相似的报表,表格等-> Django 一组相对多样化的事物,它们在需求和使用的技术上存在很大差异,或者在其他情况下会重复使用某些技术->根据需要混合技术

    2020-02-21 17:57:02
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载