关于java:任何在“企业”中使用Django的人

Anyone using Django in the “Enterprise”

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

有些人说Rails是JavaEE的一个很好的替代物,但是Django呢?有人在这种情况下使用过它吗?你只会在djangosites.org上看到相当标准的网站,而且它似乎有更多的功能。我计划取消一些旧系统,这些系统主要是在ASP.NET和一些Java上编写的,以便更容易维护。我开始将django用于其他一些应用程序,并发现它对于我在内部使用它的目的(公司新闻、内部网等)非常有用,但是对于诸如……应收账款系统或计费系统等之类的应用程序呢?我不想看到像这只鸽子这样的框架被归入一个不需要的类别。它似乎被用于社交媒体/网络、内容密集的网站、不太多的数据处理等。我觉得它拥有启动这条道路所需的所有元素。有人有什么想法吗?


这就是你要找的吗?

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

或者你在找这份名单?网址:http://www.djangosites.org/

以下是Django Powered网站的评级顺序:http://www.django sites.org/highest-rated/

Django网站专注于"商业"怎么样:http://www.django sites.org/tag/business/那"企业"够了吗?

我们和Django一起做经济数据处理。大量交易。"企业"够了吗?


Django最大的缺点之一是,尽管理论上应用程序是独立的概念听起来不错,但实际上并没有那么好地工作;即使你找到了一些提供你需要的功能的应用程序——插上它并不是很容易——你也需要对它进行编辑/黑客攻击。

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

  • ORM——是的,它很棒——但它非常具体和定制。当我需要一些快速的数据处理时,我就使用了它,但除此之外,您还需要深入研究一些适当的东西,比如sqlacalchemy。有一件事我们做不容易,那就是随机抽取样本。这对我们来说成了一个小数据集(大约538000多行)的问题。

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

  • 事实上,这并不是针对姜戈本身的问题,而是缺乏提供共同服务的中心位置,这对我们来说是一个大问题。例如,没有我们可以插入的中央认证提供者,没有提供数据凭证(角色分离)的抽象方法。因此,当我们把东西移到生产服务器时,数据库凭据不能在服务器上编辑(如Java中的情况),DB家伙必须弄乱我的代码库。

  • 所有这些都使我把Java门户服务器看作是我的"平台",特别是LIFERAY,因为它具有Python支持。

    我建议你先看看大局,然后再把自己交给姜哥。我真的很喜欢这个框架,我一直在一次性项目中使用它,但是作为开发我们可能需要的所有东西的中心平台,Django不是我们的答案。

    我现在已经委托Django进行独立的项目——比如某个部门的特定迷你站点。如果我们需要将python用于其他用途,我现在将pyramid评估为更可插入的。对于需要整合我们部门之外的任何东西,我看Java。

    如果所有这些都失败了-只有这样我们才能转到.NET。


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

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

    因此,我们对Django非常满意,并将其推广给我们的所有客户,因为它具有开发成本优势。


    对于要替换的系统,您可能会发现需要使用比Django的ORM(如sqlacalchemy)更强大的东西。这不是缩放的问题,但事实是Django的ORM使得构建复杂的查询变得困难,并且常常会迫使您在python中做RDBMS应该做的事情—而不必使用原始SQL。尽管SQLAlchemy的学习曲线更陡,但它有更多的特性,更适合于复杂的数据库操作。在决定建立一个Web堆栈之前,您当然值得花时间来看看它。

    这可能与您的问题不太相关,但Django中的所有功能也由我发现更优越的其他库提供:用于模板化的jinja2(它与Django模板具有相同的语法,没有模板标记系统和更好的性能的混乱),用于表单和模型表单的wtforms,用于i18n的babel(与manDjango自己的i18n库中没有的y功能)和werkzeug提供了一个完整的带有URL路由的wsgi接口。


    编辑那是几年前的事了。从那时起,这个入口就关闭了,可能重新打开了。我不知道它是什么状态。但它在某个地方使用了django(来源:我曾经在那里应用过)。

    http://grono.net/是一个波兰语版的Facebook,被相当多的人使用(在某种程度上,由于FB的普及,它是几百万,现在更少了)。它在分布式Django上工作。


    是的,Django用于"企业世界"。关于优缺点和相关开发工作的良好描述可以在这里找到:

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


    我的公司使用python/django作为我们IntraMAS平台的基础。一个企业级Web应用程序平台,部署到大约12个大型客户机上。

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

    总的来说,我们很高兴Django作为我们开发的基础,它是非常可扩展的,并且发布周期产生可靠的代码(我们经常升级)。

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