有在“企业”中使用Django的吗?

34 投票
7 回答
18215 浏览
提问于 2025-04-15 19:40

我知道“企业”这个词让一些人感到不安,但我很好奇有没有人有过创建企业应用的经验,比如说… 类似于Java EE的应用,这种应用通常是高度并发和分布式的,使用Django来做会怎么样?我知道Java也有它的问题,但它被视为“企业框架”的代表,我觉得这有点可惜。

有些人说Rails是Java EE的一个不错替代品,那Django呢?有没有人用过它来做这种事情?在djangosites.org上你只会看到一些比较标准的网站,感觉它其实能做的事情更多。我计划淘汰一些我们旧的系统,这些系统主要是用ASP.NET和一些Java写的,想换成更容易维护的东西。我开始用Django做一些其他的应用,发现它在我用的场合(比如公司新闻、内网等)非常棒,但如果是像… 应收账款系统,或者账单系统之类的呢?

我不想看到这样的框架被限制在一个不必要的类别里。现在它似乎主要被用在社交媒体、内容丰富的网站上,而不是数据处理等方面。我觉得它具备了开始这条路所需的所有元素。有没有人有什么想法?

7 个回答

11

我们公司使用Django来开发至少六个大型企业项目,比如奔驰和阿迪达斯。我们经常使用Jython这个工具。它的好处有:

  • 相比Java或C#,开发成本更低
  • 在IIS或Tomcat/Java环境中运行得很稳定
  • 能保护我们的软件不被抄袭

所以我们对Django非常满意,并且因为开发成本的优势,正在向所有客户推荐它。

14

在django中,一个很大的缺点是,虽然理论上应用程序是自包含的这个概念听起来不错,但实际上并没有那么好用。即使你找到了一些提供你所需功能的应用,想要把它们直接用上也并不容易,你总是需要进行一些修改。

在我工作中把django作为开发可插拔应用的中心平台时,遇到了一些障碍:

  1. ORM(对象关系映射) - 是的,它很棒,但它非常具体且定制化。我在需要快速处理数据时用过它,但除此之外,你需要深入学习一些更专业的工具,比如SQLAlchemy。我们很难轻松获取随机样本。这在我们处理一个小数据集(大约538,000行)时成了问题,使用的是postgres数据库。

  2. 模板系统 - 同样,这个系统非常适合django风格的应用。没有真正的可插拔主题组件的概念,除非你自己去开发;这就意味着要重新开发其他平台已经提供的功能。

  3. 这并不是说django本身有什么问题,但缺乏一个中心位置来提供公共服务对我们来说是个大问题。例如,没有可以直接使用的中央认证提供者,也没有抽象的方式来提供数据凭证(角色分离)。所以当我们把东西搬到生产服务器时,数据库凭证不能在服务器上编辑(就像Java那样),而数据库管理员不得不去修改我的代码。

所有这些问题让我开始考虑使用Java门户服务器作为我的“平台”,特别是Liferay,因为它支持Python。

我建议你在决定使用django之前,先看看整体情况。我真的很喜欢这个框架,常常在一些临时项目中使用,但作为一个开发我们可能需要的所有功能的中心平台,django对我们来说并不是答案。

现在我把django用于一些自包含的项目,比如某个部门的特定小型网站。如果我们需要用Python做其他事情,我现在会考虑Pyramid,因为它更容易插拔。对于任何需要跨部门集成的事情,我会考虑Java。

如果这些都不行,才会考虑使用.NET。

19

这是不是你想要的内容?

http://code.djangoproject.com/wiki/DjangoSuccessStories

还是说你在找这个列表? https://www.djangosites.org/

这里有按评分排序的Django网站: https://www.djangosites.org/highest-rated/

如果你想找专注于“商业”的Django网站,可以看看这个: https://www.djangosites.org/tag/business/ 这样算不算“企业级”呢?

我们用Django进行经济数据处理,处理高交易量。这算不算“企业级”呢?

撰写回答