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

如果我是你,我可能会首先看看基于Django的基于web的解决方案是否起作用。如果您需要更好的外观,可以将jQuery添加到这个组合中。如果它提供的功能太少,请使用PyQt。如果你有很多非常小的应用程序,可以使用多种技术。下面,你会发现我(有些冗长)的理由。

Webapp与桌面应用程序

一年前,我们有一个商业数据库,需要一个前端。我们必须决定在前端使用什么技术。我们认为:基于Web(查看here了解Python的Web框架工程的概述)

从我们的角度来看,PyQt的优势:以前的C++经验与Qt,我们知道Qt适合于任务。

包括所有必要的工具。

容易开发富有的客户。

但是,我们决定不使用PyQt,而是使用基于web的解决方案。原因是:对前端的要求不高,而且在浏览器中很容易实现

(主要是报告,一些用于输入数据或运行函数的表单)。

应用程序的部署(以及新版本、错误修复等)

更容易,因为所有事情都只发生在服务器上的受控环境中。

访问控制/身份验证/权限是“免费的”,因为它是服务器(在我们的例子中是使用Active Directory身份验证的Apache)和浏览器的一部分,这对我们很重要。

应用程序无论如何都需要服务器连接,不必在客户端存储任何东西。

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

哪个web框架?

既然我们已经决定了一项技术,我们必须选择一个框架。我们进行了一些研究,并详细研究了两种备选方案:一个软件栈,由CherryPy作为分派器(将http请求与功能和所有相关的东西相匹配)、Mako作为生成网页的模板库、SQLAlchemy作为ORM和jQuery作为客户端功能组成。

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

总而言之:一个大型、复杂的应用程序->PyQt

一套相对相似、简洁的报告、表格等,只有一个外观和感觉->Django

一组相对不同的事物,它们在需求和使用的技术上有很大的不同,或者在其他情况下重复使用某些技术->根据需要混合使用各种技术

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值