首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python、PostgreSQL的设计适合于业务应用程序吗?

Python、PostgreSQL的设计适合于业务应用程序吗?
EN

Stack Overflow用户
提问于 2009-01-13 16:47:39
回答 7查看 2.5K关注 0票数 2

我正在寻找一些关于我想要构建的商业应用程序的快速想法。我想使用PHPPythonE 110PostgreSQLE 211分别将表示的三层、域逻辑数据分开。我希望听到,可能从其他人谁走了这条路,如果有问题的这种方法,如果我的目标是错误的工具,等等。

  • 我看是因为它被广泛使用,相当成熟,而且我可以找到大量具有PHP界面设计技能的人。
  • 我之所以看 Python ,是因为它具有可读的代码的优点,因为我听说可以找到更多具有主题技能(在本例中是金融)的Python程序员,而且它是一种开放源代码语言。另外,用它编写代码似乎更容易。
  • 我正在查看PostgreSQL的事务级特性。MySQL也是这里的一个选项,但我不需要讨论这个方面。

这不是一个web应用程序,虽然我想利用浏览器的用户界面。这更像是一个企业级应用程序,但是对于一个拥有少量用户(可能是5-10个)和少量日常事务的小型企业来说。

重要的是,我们能够在未来升级数据库或域逻辑或接口,将其与其他层分开。

我不是在寻找买还是建的争论,因为这是一个不同的讨论。

谢谢你的洞察力

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-01-13 16:56:15

看看姜戈

Python代码。一种模板语言,它允许一些与PHP相同的特性--稍微不同的语法。

模型脱离了视图功能(“业务规则”),脱离了表示。这是在Django全境强制执行的。

一个常见的问题是“为什么我不能在Django模板中做一些疯狂的PHP类的事情?”答案是演示不是在处理。在Django视图函数中执行处理。将结果呈现为模板中的HTML。

另外,Django有一个ORM层,可以将您从琐碎的SQL考虑中分离出来。在Django内部,MySQL或PostgreSQL或多或少是等价的。

编辑

“成熟”意味着很多事情。你特别提到熟练的人是成熟的标志。

Django是纯Python。如果您能找到Python用户,他们可以在几天内学习Django。他们只需要做教程。

  • Django支持的站点通常是Apache +一些胶水+Django。这种胶水可以是mod_wsgi、mod_python或mod_fastcgi。您必须谨慎地管理这个配置,因为有几个可移动的部分。然而,这是与PHP相同的Apache配置问题--这里并不新鲜。
  • Django站点有一个或多个Django服务器实例,每个实例都有一个设置文件、一个URL映射和任意数量的应用程序。这里是纯Python。
  • Django应用程序具有URL映射、模型和视图。都是纯Python。使用Python自己的内部统一测试框架的Django扩展进行了单元测试。
  • 该模型使用ORM层。这可能是Django中最令人困惑的事情。人们有时设计非常奇怪的模型,因为他们认为过于高级-uber-泛型或者他们在SQL中想的太多了。Django是一个以面向对象为主的中间地带,考虑了一些SQL因素。拿着这个,你就无法阻挡了。
  • Django应用程序可能有模板,它们使用自己的模板语言。这将是唯一令人感兴趣的非Python事件。您可能需要添加自定义标记--纯Python。
  • 您可能会有JavaScript (对于PHP和其他每个web应用程序框架也是如此)。这里没什么新鲜事。
  • 因为Django的管理应用程序自动处理基本CRUD处理,所以不必编写这个。您可以自由地编写您想要的所有事务性内容。但你不必这么做。这导致了一个非常,非常强大的混合动力。
代码语言:javascript
运行
复制
- You write a few complicated, critical transactions.  Pure Python, BTW.
- You don't write any of the dumb table-maintenance transactions.  No code at all is superior to Python or PHP.
- After you get your feet wet with the template engine and CSS's, you can tailor the admin interface to look like anything you want.  This is HTML/CSS stuff, no Python or PHP.

底线。大多数技能集都是Python。ORM是--在语法上-- Python,但是在简单而干净的工作中需要一些谨慎。模板是它自己的语言,但比PHP简单得多。剩下的是SQL,Javascript,HTML,CSS,Apache等等。

编辑

Django成熟度

  • 有关活动项目的数量,请参见http://www.djangoproject.com/community/
  • 加入http://groups.google.com/group/django-users,每天收到大量用户的电子邮件。

Django的博客可以追溯到05年,这意味着他们在08年9月发布1.0之前有了多年的坚实经验。开发显然始于03年。

票数 11
EN

Stack Overflow用户

发布于 2009-01-13 18:12:47

我将假定,“业务应用程序”指的是托管在intranet环境中的web应用程序,而不是internet上的某种SaaS应用程序。

在构建应用程序的过程中,您需要考虑现有的基础设施和基础设施,支持雇主/客户的人员。此外,如果公司规模足够大,有诸如“批准的软件/硬件列表”之类的东西,你应该注意到这些。请记住,列表中的某些元素可能是完全延迟的。不要让过去的错误决定你的应用程序的架构,但如果它们是合理合理的,我会选择我的战斗,坚持你的企业标准。当您选择一个在Unix/Linux上工作得最好的开发堆栈,然后有人试图强行进入一个Windows服务器时,除了ASP.NET应用程序之外,其他人从未碰过任何东西,这可能是一个真正的痛苦。

除非您打算使用一个没有Python等效的特定PHP模块,否则我将放弃PHP并使用Django。如果有一个令人信服的理由使用PHP,那么我将放弃Python。我很难想象你想同时使用这两种方式的场景。

对于PG和MySQL,两者都是有效的。看看你的客户已经部署了什么,如果他们已经部署了一小部分,那么就选择它。如果他们有现有的Oracle基础设施,您应该考虑使用它。如果它们是Server shop...reconsider,那么您的堆栈要记住要选择您的战斗。

票数 1
EN

Stack Overflow用户

发布于 2009-01-13 19:46:13

我只能重复这里的其他人已经说过的话:如果您选择Python作为域层,那么使用PHP作为表示层将不会获得任何东西(恰恰相反)。其他人已经建议Django,这可能是一个不错的选择,但并不缺少优秀的Python框架。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/439759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档