Python框架:网站/ CMS与应用程序?

时间:2012-03-30 17:28:59

标签: python django web-applications frameworks pyramid

我对“网络应用程序”的含义感到有些困惑。即Django将自己定位为“网络框架”,用于开发“网络应用程序”,与金字塔的描述非常相似。我正在寻找的是一个具有浏览器界面但非常受数据库驱动的应用程序的框架。简而言之:它是一个应该处理事务和订阅的系统。这些事务通过Web界面注册。后端包含这些订阅/事务的XML / JSON订阅源以及用于生成统计信息和报告的管理界面。与票务/票房系统非常相似。 现在:开始使用像Django / Pyramid这样的东西是一个很好的决定,尽管它们似乎更专注于创建“网站”而不是(可扩展的)输入/输出“应用程序”。有没有我最好使用的python框架,或者它们是否完全适合我所描述的那种软件? 任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:3)

在撰写本文时我不知道Pyramid所以我会回答Django部分,虽然我可以想象应用于Pyramid的答案以及网站和Web应用程序之间的区别是相当模糊的。

Django适用于网站和Web应用程序:您可以为本地库创建信息丰富的网站,以及具有许多交互功能的全功能Web应用程序。 Django只是简化了Web系统后端的创建。网站和Web应用程序都使用数据库,具有缓存功能,并且可以与表单进行交互式部分。

只是网站通常仅用于通知用户(大多数网站在那里)或与其他网站(例如论坛)进行交互。 Web应用程序最好用一些示例来描述,例如webmail,管理界面,Google Docs等;它可以替代桌面应用程序。

从技术角度来看,没有一个明确的东西可以将网站世界与网络应用程序区分开来,这只是您使用Web框架创建的内容。

回答你的问题,Django非常适合创建一个数据库驱动的Web应用程序,因为它支持多个数据库,缓存,自动创建和表单处理等。我可以想象金字塔也适合但我可以'回答这个问题。探索你的选择很好。

答案 1 :(得分:1)

我相信在这一点上,您可能想要更多地考虑应用程序的整体架构而不是框架。 例如

  1. 单层 - 只是一个简单的webapp,使用简单的文件或对象存储
  2. 两层 - Webapp +关系数据库。 webapp包含使用MVC原则的表示逻辑+业务逻辑
  3. 三层 - Webapp +中间层+关系数据库。在此设置中,中间层基本上包含所有业务和处理逻辑。然后,Webapp只是一个表示层
  4. 一旦确定了体系结构,就可以开始考虑将哪个框架用于每个体系结构组件。

    我相信以这种方式进步将不那么令人困惑,并且会使思想清晰。