加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – Django开发是否提供了真正灵活的3层架构?

发布时间:2020-12-20 13:04:14 所属栏目:Python 来源:网络整理
导读:几个星期前,我问了一个问题“ PHP,Python,PostgreSQL设计是否适用于非Web业务应用程序?” Is a PHP,Python,PostgreSQL design suitable for a business application? 许多答案建议跳过PHP片段并使用Django构建应用程序.当我探索Django时,我开始质疑我的目标
几个星期前,我问了一个问题“ PHP,Python,PostgreSQL设计是否适用于非Web业务应用程序?” Is a PHP,Python,PostgreSQL design suitable for a business application?

许多答案建议跳过PHP片段并使用Django构建应用程序.当我探索Django时,我开始质疑我的目标的一个特定方面以及Django如何为非Web业务应用程序发挥作用.

根据我的理解,Django将管理视图和控制器部分,PostgreSQL或MySQL将处理数据.但我的目标是明确地分离各个层,以便可以更改数据库,域逻辑和表示,而不会显着影响其他层.看起来我只是用Django解决方案将M与VC层分开.

那么,使用SQL Alchemy / Elixir ORM工具,PostgreSQL用于数据库层,然后仍然使用Django或PHP作为表示层,在Python中构建域层是否适得其反?这是可能的还是纯粹的疯狂?

基本上,我将关注Django / PHP的架构> Python / SQLAlchemy> PostgreSQL的/ MySQL的.

编辑:在粉丝们因为询问关于Django的问题而生我的生气之前,我们才意识到:这是一个问题,而不是一个指责.如果我知道答案或有自己的看法,我就不会问!

解决方法

您似乎在说选择Django会阻止您以后使用更异构的解决方案.事实并非如此. Django在各层之间提供了许多有趣的连接,并且对所有层使用Django可以让您利用这些连接.例如,使用Django ORM意味着您几乎可以免费获得优秀的Django管理应用程序.

您可以选择在Django中使用不同的ORM,您只是不会获得管理应用程序(或通用视图).因此,一个不同的ORM会让你从完全Django自上而下退一步,但它并不是从其他异构解决方案向后退一步,因为这些解决方案首先没有为管理员应用提供内层优势.

不应该因为没有提供灵活的架构而批评Django:它与任何其他解决方案一样灵活,如果你选择换出一层,你就放弃了一些Django的好处.

如果你选择从Django开始,你现在可以使用Django ORM,然后,如果你需要切换,你可以转换到SQLalchemy.现在开始使用SQLalchemy并稍后转向其他ORM解决方案并不困难.

你还没有说过为什么你预计需要换掉图层.无论如何,这将是一个痛苦的过程,因为必然会有很多代码依赖于您当前使用的任何工具集和库的行为.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读