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

9 python frame

我一直在构建业务数据库应用程序,如财务,库存和其他业务需求应用程序.我打算转向Python.什么是最好的工具.我需要做主,交易表格,处理(后端),报告等等.数据库将是postgress或mysql.由于我是Python的新手,我理解除了Python之外我还需要一个ORM和一个框架.我的应用程序不是与网站相关的,但如果需要,也可能需要在网上完成.

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

ste*_*han 12

如果我是你,我可能会首先看看基于Django的基于网络的解决方案是否能够实现这一目标.如果您需要更好的外观和感觉,请添加jQuery.如果它提供的功能太少,请选择PyQt.如果您有很多非常小的应用程序,请选择各种技术.下面,您会发现我(有点冗长)推荐此推荐.

Webapp与桌面应用程序

一年前,我们有一个业务数据库,需要一个前端.我们必须决定使用哪种技术作为前端.我们考虑过:

  1. PyQt的
  2. 基于Web(在这里查看Web框架的概述 - 适用于Python)

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

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

然而,我们决定反对PyQt和基于Web的解决方案.原因是:

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

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

哪个Web框架?

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

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

我们评估了两种替代方案,最后确定了第二种方案.这个决定是由我们真正的"轻量级"前端要求(许多非常小的应用程序)驱动的.一堆软件 - 我们可以根据需要混合搭配 - 对我们来说似乎更好.我们可以在不需要Web前端的情况下重用SQLAlchemy,我们可以在没有模板库和ORM的情况下使用CherryPy,依此类推.在许多其他情况下,我会在这个堆栈上选择Django.

总结一下:

  • 一个大而复杂的应用程序 - > PyQt
  • 一组相对较近的类似,直截了当的报告,形式等,带有一种外观 - > Django
  • 一系列相对多样化的东西,在需求和使用的技术方面差别很大,或者在其他情况下重复使用某些技术 - >根据需要混合技术


Mac*_*rse 4

如果我是你,我会从django开始。

  • +1:它可以捆绑在桌面上运行,就像它是一个独立的应用程序一样。谷歌“Django Desktop”可以获得很多提示。 (3认同)