34

我知道“企业”这个词让一些人毛骨悚然,但我很想知道是否有人有创建企业应用程序的经验,类似于说... Java EE 应用程序,这是使用 Django 的高并发分布式应用程序?我知道 Java 有它自己的问题,但它被视为企业框架,我认为这很不幸。

有人说 Rails 是 Java EE 的一个很好的替代品,但是 Django 呢?有没有人在这种情况下使用过它?你只会在 djangosites.org 上看到非常标准的网站,而且它的功能似乎要强大得多。我正计划废弃我们的一些旧系统,这些系统主要是在 ASP.NET 和一些 Java 上编写的,以便更容易维护。我开始将 Django 用于其他一些应用程序,并发现它非常适合我在内部使用它(企业新闻、内部网等),但对于诸如应收账款系统或计费系统等之类的东西呢?我不愿意看到这样的框架被归入一个不需要的类别。它似乎用于社交媒体/网络、内容繁重的网站,而不是太多的数据处理等。我觉得它具有开始这条道路所需的所有元素。有人有什么想法吗?

4

7 回答 7

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 进行计量经济数据处理。大批量交易。那个“企业”够吗?

于 2010-02-24T15:07:07.427 回答
14

django 的最大缺点之一是,虽然理论上应用程序自包含的概念听起来不错,但实际上它并不能很好地工作。即使你找到了一些提供你需要的功能的应用程序——插入它并不总是那么容易——你总是需要编辑/破解它。

在我开发可插拔应用程序的工作中,将 django 作为中心平台进行评估导致了一些障碍:

  1. ORM - 是的,它很棒 - 但它非常具体和量身定制。当我需要完成一些快速的数据处理时,我会使用它,但除此之外,您还需要深入研究诸如 SQLAlchemy 之类的东西。我们不能轻易做的一件事是获取随机样本。在使用 postgres 的小型数据集(大约 538,000 多行)上,这对我们来说是一个问题。

  2. 模板系统 - 同样,非常特定于 django 风格的应用程序。除非您自己开发,否则没有可插拔主题组件的真正概念;这意味着开发其他平台已经提供的东西。

  3. 并不是真的反对 django 本身,但缺乏提供公共服务的中心位置对我们来说是一个大问题。例如,没有我们可以插入的中央身份验证提供程序,没有提供数据凭证的抽象方式(角色分离)。因此,当我们将事物转移到生产服务器时;无法在服务器上编辑数据库凭据(如 Java 的情况),数据库人员不得不弄乱我的代码库。

所有这些都让我将 Java 门户服务器视为我的“平台”,特别是 Liferay,因为它支持 Python。

我建议你在投身于 django 之前先看大局。我真的很喜欢这个框架,我一直在一次性项目中使用它,但作为一个开发我们可能需要的所有东西的中心平台 - django 不是我们的答案。

我现在已经将 django 委托给自包含项目——比如某个部门的特定迷你站点。如果我们需要将 Python 用于其他用途,我现在将 Pyramid 评估为更具可插拔性。对于我们部门以外需要集成的任何东西,我都会考虑 Java。

如果一切都失败了——只有这样我们才去.NET。

于 2011-06-23T19:44:44.857 回答
11

My Company 为梅赛德斯、阿迪达斯等至少六家大型企业使用 Django。我们经常使用 Jython 包装器。优点是

  • 与 Java/C# 相比降低了开发成本
  • 通过 IIS 或 Tomcat/Java 环境中的包装器稳定运行
  • 保护我们的软件免受抄袭

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

于 2012-03-28T10:46:27.613 回答
7

EDIT That was several years ago. Since then the portal got closed and maybe reopened. I have no idea what is it's state. But it was using at some point Django (source: I applied there at one point).

http://grono.net/ is a polish equivalent of Facebook and is used by a quite a few people (at some point it was a few million, now it's less, due to FB popularity). It works on distributed Django.

于 2010-02-24T14:54:28.310 回答
7

对于要替换的系统,您可能会发现最好使用比 Django 的 ORM 更强大的东西,例如 SQLAlchemy。这不是扩展的问题,但事实是 Django 的 ORM 使构建复杂查询变得困难,并且经常促使您在 Python 中执行 RDBMS 应该执行的操作 — 当您不必求助于原始 SQL 时。虽然 SQLAlchemy 的学习曲线更陡峭,但它的功能更多,更适合复杂的数据库操作。在决定构建 Web 堆栈之前,当然值得花时间看一看。

这可能与您的问题不太相关,但 Django 中的所有功能也由我认为更优秀的其他库提供:Jinja2 用于模板(它具有与 Django 模板相同的语法,没有模板标签系统的混乱,而且更好性能),用于表单和模型表单的 WTForms,用于 i18n 的 Babel(具有 Django 自己的 i18n 库中不存在的许多功能)和 Werkzeug,以提供带有 URL 路由的完整 WSGI 接口。

于 2010-02-24T16:21:31.290 回答
4

是的,Django 用于“企业界”。可以在此处找到对优缺点和相关开发工作的详细描述:

http://groups.google.com/group/django-developers/browse_thread/thread/c89e028a536514d3

于 2010-02-24T15:31:10.123 回答
3

我的公司使用 Python/Django 作为我们 Intramas 平台的基础。一个企业级 Web 应用程序平台,已部署到大约十几个大型客户端。

内置功能包括中央联系人管理、文档生成器、额外的安全层、用于快速应用程序设计的默认 GUI(不要弄乱 Django 管理界面!)。

总的来说,我们对 Django 作为我们开发的基础感到非常满意,它非常可扩展,并且发布周期产生了可靠的代码(我们经常升级)。

虽然我们的网站 (http://www.sinax.be) 是荷兰语并且目前不是很广泛,但您可以随时与我联系以获取更多信息。

于 2010-10-27T06:17:15.750 回答