java 任何在“企业”中使用 Django 的人
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/2326671/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Anyone using Django in the "Enterprise"
提问by
I know that the word “enterprise” gives some people the creeps, but I am curious to know if anyone has experience creating enterprise applications, similar to something like say… Java EE applications, which are highly concurrent, distributed applications with Django? I know Java has its own issues but its kind of viewed as THE enterprise framework and I think that's unfortunate.
我知道“企业”这个词让一些人感到毛骨悚然,但我很想知道是否有人有创建企业应用程序的经验,类似于说... Java EE 应用程序,它是具有 Django 的高度并发的分布式应用程序?我知道 Java 有它自己的问题,但它被视为企业框架,我认为这很不幸。
Some people say that Rails is a good replacement for Java EE but what about Django? Has anyone ever used it in this context? You only ever see pretty standard websites on djangosites.org and it seems like its capable of so much more. I am planning on scrapping some of our old systems which are written mostly on ASP.NET and some Java for something more easily maintainable. I started using Django for some other applications and find it to be fantastic for what I am using it for (Corporate news, intranet, etc.) internally but what about something like… an accounts receivable system, or a billing system, etc. I would hate to see a framework such as this pigeon-holed into a category it doesn't need to be. It seems to be used for social media/networking, content-heavy sites, not so much data processing, etc. I feel that it has all the elements needed to start down this path. Anyone have any thoughts?
有人说 Rails 是 Java EE 的一个很好的替代品,那么 Django 呢?有没有人在这种情况下使用过它?您只能在 djangosites.org 上看到非常标准的网站,而且它似乎能够提供更多功能。我计划废弃一些主要在 ASP.NET 和一些 Java 上编写的旧系统,以获得更易于维护的东西。我开始将 Django 用于其他一些应用程序,并发现它非常适合我在内部使用它的内容(公司新闻、内联网等),但对于诸如……应收账款系统或计费系统等之类的东西呢?我不愿意看到像这样的框架归入一个它不需要的类别。它似乎用于社交媒体/网络、内容丰富的网站,而不是大量的数据处理等。我觉得它具有开始这条道路所需的所有元素。有人有什么想法吗?
回答by S.Lott
Is this what you're looking for?
这是你要找的吗?
http://code.djangoproject.com/wiki/DjangoSuccessStories
http://code.djangoproject.com/wiki/DjangoSuccessStories
Or are you looking for this list? http://www.djangosites.org/
或者你正在寻找这个列表?http://www.djangosites.org/
Here are Django powered sites in rating order: http://www.djangosites.org/highest-rated/
以下是按评级顺序排列的 Django 网站:http: //www.djangosites.org/highest-rated/
How about Django sites focused on "business": http://www.djangosites.org/tag/business/is that "Enterprise" enough?
专注于“业务”的 Django 网站怎么样:http: //www.djangosites.org/tag/business/那个“企业”就够了吗?
We do econometric data processing with Django. High volume transactions. Is that "enterprise" enough?
我们使用 Django 进行计量经济学数据处理。交易量大。那个“企业”就够了吗?
回答by Burhan Khalid
One of the biggest drawbacks in django is that although in theory the concept of applications being self-contained sounds nice, in practice it really doesn't work that well; even if you find some app that provides functionality that you need - it is not always easy to plug it in and go - you will always need to edit/hack at it.
django 最大的缺点之一是,尽管从理论上讲,应用程序自包含的概念听起来不错,但在实践中它实际上并没有那么好;即使您找到了一些提供您需要的功能的应用程序 - 插入并运行并不总是那么容易 - 您将始终需要对其进行编辑/破解。
Evaluating django as a central platform at my work for developing pluggable apps led to a few roadblocks:
在我开发可插拔应用程序的工作中,将 django 作为中心平台进行评估导致了一些障碍:
ORM - yes, its great - but it is very specific and tailored. I have used it when I need some quick data processing done, but other than that you need to dive into something proper like SQLAlchemy. One thing we can't do easily is fetch random samples. This became a problem for us on a small data set (538,000+ rows approx.) with postgres.
Template system - again, very specific to django-styled apps. No real concept of pluggable theme components unless you grow it yourself; and this means developing things that are already provided by other platforms.
Not really a point against django per-se but lack of a central place to provide common services turned out to be a big issue for us. For example, no central authentication provider which we can plug into, no abstracted way of providing data credentials (separating of roles). So when we move things to production servers; the database credentials can't be edited on the server (as in the case with Java) and the db guys have to mess with my code base.
ORM - 是的,它很棒 - 但它非常具体和量身定制。我在需要完成一些快速数据处理时使用过它,但除此之外,您需要深入研究 SQLAlchemy 之类的东西。我们不能轻易做的一件事是获取随机样本。在使用 postgres 的小数据集(大约 538,000 多行)上,这对我们来说是一个问题。
模板系统 - 同样,非常特定于 django 风格的应用程序。除非您自己开发可插拔主题组件,否则没有真正的概念;这意味着开发其他平台已经提供的东西。
并不是真的反对 Django 本身,但缺乏提供公共服务的中心位置对我们来说是一个大问题。例如,没有我们可以插入的中央身份验证提供程序,没有提供数据凭据的抽象方式(角色分离)。所以当我们把东西转移到生产服务器时;无法在服务器上编辑数据库凭据(如 Java 的情况),数据库人员必须弄乱我的代码库。
All these things have led me to look at Java portal servers as my "platform" and specifically Liferay as it has Python support.
所有这些都让我将 Java 门户服务器视为我的“平台”,尤其是 Liferay,因为它支持 Python。
I suggest you look at the big picture first before you commit yourself to django. I really love the framework, and I use it all the time on one-off projects, but as a central platform for developing all that we may need - django is not the answer for us.
我建议你在投入 django 之前先看看大局。我真的很喜欢这个框架,我一直在一次性项目中使用它,但作为开发我们可能需要的一切的中心平台 - django 不是我们的答案。
I have now delegated django for self contained projects - like some specific mini-site for a department. If we need to use Python for something else, I now evaluate Pyramid as its more pluggable. For anything that needs integration beyond our department, I look at Java.
我现在已经将 django 委派给自包含项目——比如某个部门的一些特定的迷你站点。如果我们需要将 Python 用于其他用途,我现在评估 Pyramid 是因为它更易于插入。对于需要在我们部门之外进行集成的任何内容,我都会考虑 Java。
If all that fails - only then do we go to .NET.
如果这一切都失败了 - 只有这样我们才能转到 .NET。
回答by patroqueeet
My Company uses Django for at least six large scale enterprises such as mercedes, adidas. we often use the Jython wrapper. The advantages are
我的公司至少为梅赛德斯、阿迪达斯等六家大型企业使用了Django。我们经常使用 Jython 包装器。优点是
- reduced development cost compared to Java/C#
- runs stable via wrappers in IIS or Tomcat/Java environments
- protects our software from copycats
- 与 Java/C# 相比降低了开发成本
- 在 IIS 或 Tomcat/Java 环境中通过包装器稳定运行
- 保护我们的软件免受山寨
Therefore we are well satisfied with Django and are promoting it to all our customers due to the dev cost advantage.
因此,我们对 Django 非常满意,并且由于开发成本优势,正在向所有客户推广它。
回答by jd.
For the systems you want to replace, you may find that it is desirable to use something more powerful than Django's ORM like SQLAlchemy. It's not a question of scaling, but the fact is that Django's ORM makes it hard to build complex queries and often pushes you to do in Python what should be done by your RDBMS — when you don't have to resort to raw SQL. Although SQLAlchemy has a steeper learning curve, it has more features and is better suited to complex database operations. It's certainly worth your time to have a look at it before deciding on a web stack to build on.
对于要替换的系统,您可能会发现最好使用比 Django 的 ORM 更强大的东西,例如 SQLAlchemy。这不是扩展的问题,但事实是 Django 的 ORM 使构建复杂查询变得困难,并且经常促使您用 Python 完成 RDBMS 应该完成的工作——当您不必求助于原始 SQL 时。虽然 SQLAlchemy 的学习曲线更陡峭,但它的功能更多,更适合复杂的数据库操作。在决定构建一个 Web 堆栈之前,您花时间看看它当然是值得的。
This is probably less relevant to your questions but all the functionality in Django is also provided by other libraries that I find to be superior : Jinja2 for templating (it has the same syntax as Django templates without the mess that is the template tags system and better performance), WTForms for forms and modelforms, Babel for i18n (with many features not present in Django's own i18n library) and Werkzeug to provide a complete WSGI interface with URL routing.
这可能与您的问题不太相关,但 Django 中的所有功能也由我认为更出色的其他库提供:Jinja2 用于模板(它具有与 Django 模板相同的语法,没有模板标签系统和更好的混乱)性能)、用于表单和模型表单的 WTForms、用于 i18n 的 Babel(具有 Django 自己的 i18n 库中没有的许多功能)和 Werkzeug 以提供带有 URL 路由的完整 WSGI 接口。
回答by gruszczy
EDITThat 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).
编辑那是几年前的事了。从那以后,门户关闭了,也许又重新打开了。我不知道它是什么状态。但它在某个时候使用了 Django(来源:我曾在那里应用过)。
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.
http://grono.net/是 Facebook 的波兰语等价物,被相当多的人使用(在某些时候它是几百万,现在更少,由于 FB 的流行)。它适用于分布式 Django。
回答by Mikhail Korobov
Yes, Django is used in the "enterprise world". The good description of pros, cons and the related development efforts can be found here:
是的,Django 用在“企业界”。可以在此处找到对优点、缺点和相关开发工作的详细描述:
http://groups.google.com/group/django-developers/browse_thread/thread/c89e028a536514d3
http://groups.google.com/group/django-developers/browse_thread/thread/c89e028a536514d3
回答by Michael Anckaert
My company uses Python/Django as a base for our Intramas Platform. An entreprise grade web application platform that is deployed to about a dozen large clients.
我的公司使用 Python/Django 作为我们 Intramas 平台的基础。一个企业级 Web 应用程序平台,部署到大约十几个大客户。
Built in features include central contact management, document generator, extra security layers, default GUI for rapid application design (no messing with Django admin interface!).
内置功能包括中央联系人管理、文档生成器、额外的安全层、用于快速应用程序设计的默认 GUI(不会弄乱 Django 管理界面!)。
Overall we are very pleased with Django as a base for our development, it is very extensible and the release cycle produces solid code (we upgrade often).
总的来说,我们对 Django 作为我们开发的基础感到非常满意,它具有很强的可扩展性,并且发布周期会产生可靠的代码(我们经常升级)。
While our site (http://www.sinax.be) is in Dutch and not very extensive at the moment you can always contact me for more information.
虽然我们的网站 (http://www.sinax.be) 是荷兰语,目前还不是很广泛,但您可以随时与我联系以获取更多信息。

