Любой, кто использует Django в «Предприятии» - PullRequest
32 голосов
/ 24 февраля 2010

Я знаю, что слово «предприятие» заставляет некоторых людей проболтаться, но мне любопытно узнать, есть ли у кого-нибудь опыт создания корпоративных приложений, похожих на что-то вроде, скажем… приложений Java EE, которые представляют собой высокопараллельные распределенные приложения с Django ? Я знаю, что у Java есть свои проблемы, но ее рассматривают как корпоративную инфраструктуру, и я считаю, что это печально.

Некоторые люди говорят, что Rails - хорошая замена Java EE, но как насчет Django? Кто-нибудь когда-либо использовал это в этом контексте? Вы когда-либо видели довольно стандартные веб-сайты на djangosites.org, и кажется, что он способен на гораздо большее. Я планирую отказаться от некоторых наших старых систем, написанных в основном на ASP.NET и на некоторых Java, для чего-то более легкого в обслуживании. Я начал использовать Django для некоторых других приложений и считаю, что это прекрасно для того, что я использую для внутренних целей (корпоративные новости, интранет и т. Д.), Но что-то вроде ... системы дебиторской задолженности или биллинговой системы и т. Д. Я бы не хотел видеть такую ​​структуру, как эта голубиная дыра, в категории, которой он не должен быть. Похоже, он используется для социальных сетей / сетей, сайтов с большим содержанием контента, не такой большой обработки данных и т. Д. Я чувствую, что в нем есть все элементы, необходимые для начала этого пути. У кого-нибудь есть мысли?

Ответы [ 7 ]

15 голосов
/ 24 февраля 2010

Это то, что вы ищете?

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

Или вы ищете этот список? http://www.djangosites.org/

Вот сайты с поддержкой Django в порядке рейтинга: http://www.djangosites.org/highest-rated/

Как насчет сайтов Django, ориентированных на "бизнес": http://www.djangosites.org/tag/business/ достаточно ли этого "Enterprise"?

Мы выполняем эконометрическую обработку данных с помощью Django. Операции с большими объемами. Этого "предприятия" достаточно?

13 голосов
/ 23 июня 2011

Один из самых больших недостатков в django заключается в том, что хотя теоретически концепция автономных приложений звучит красиво, на практике это не очень хорошо работает; даже если вы найдете какое-нибудь приложение, которое обеспечивает необходимую вам функциональность - его не всегда легко подключить и запустить - вам всегда нужно будет отредактировать / взломать его.

Оценка django как центральной платформы в моей работе по разработке подключаемых приложений привела к нескольким препятствиям:

  1. ORM - да, это здорово - но это очень специфично и специально. Я использовал его, когда мне нужна быстрая обработка данных, но кроме этого вам нужно погрузиться в нечто правильное, например, SQLAlchemy. Одна вещь, которую мы не можем сделать легко, это выбрать случайные образцы. Это стало проблемой для нас на небольшом наборе данных (около 538 000 строк) с postgres.

  2. Система шаблонов - опять же, очень специфична для приложений в стиле django. Нет реальной концепции сменных компонентов темы, если вы сами не разовьете ее; и это означает развитие вещей, которые уже предоставлены другими платформами.

  3. На самом деле не то, чтобы выступать против django как такового, но отсутствие центрального места для предоставления общих услуг оказалось для нас большой проблемой. Например, нет централизованного поставщика аутентификации, к которому мы можем подключиться, нет абстрактного способа предоставления учетных данных (разделение ролей). Поэтому, когда мы перемещаем вещи на рабочие серверы; учетные данные базы данных не могут быть отредактированы на сервере (как в случае с Java), и парни из db должны возиться с моей базой кода.

Все это привело меня к тому, что серверы портала Java стали моей «платформой» и, в частности, Liferay, поскольку он поддерживает Python.

Я предлагаю вам сначала взглянуть на общую картину, прежде чем посвятить себя джанго. Мне очень нравится этот фреймворк, и я все время использую его в одноразовых проектах, но в качестве центральной платформы для разработки всего, что нам может понадобиться - django не является для нас ответом.

Я теперь делегировал django для автономных проектов - как какой-то конкретный мини-сайт для отдела. Если нам нужно использовать Python для чего-то другого, я теперь оцениваю Pyramid как более подключаемую. Для всего, что требует интеграции за пределами нашего отдела, я смотрю на Java.

Если все, что не получается - только тогда мы идем в .NET.

11 голосов
/ 28 марта 2012

Моя компания использует Django как минимум для шести крупных предприятий, таких как Mercedes, Adidas. мы часто используем обертку Jython. Преимущества

  • уменьшена стоимость разработки по сравнению с Java / C #
  • стабильно работает через оболочки в средах IIS или Tomcat / Java
  • защищает наше программное обеспечение от копирования

Поэтому мы очень довольны Django и продвигаем его всем нашим клиентам благодаря преимуществу разработки dev.

7 голосов
/ 24 февраля 2010

Для систем, которые вы хотите заменить, вы можете обнаружить, что желательно использовать что-то более мощное, чем ORM Django, например SQLAlchemy. Дело не в масштабировании, а в том, что ORM в Django усложняет построение сложных запросов и часто подталкивает вас делать в Python то, что должно быть сделано вашей СУБД - когда вам не нужно прибегать к сырому SQL. Хотя SQLAlchemy имеет более крутую кривую обучения, она имеет больше возможностей и лучше подходит для сложных операций с базой данных. Конечно, стоит потратить время на то, чтобы взглянуть на него, прежде чем принимать решение о создании веб-стека.

Это, вероятно, менее актуально для ваших вопросов, но все функциональные возможности в Django также предоставлены другими библиотеками, которые я считаю превосходящими: Jinja2 для шаблонов (он имеет тот же синтаксис, что и шаблоны Django без беспорядка, который является тегами шаблонов система и лучшая производительность), WTForms для форм и моделей, Babel для i18n (со многими функциями, отсутствующими в собственной библиотеке Django i18n) и Werkzeug для предоставления полного интерфейса WSGI с маршрутизацией URL.

7 голосов
/ 24 февраля 2010

РЕДАКТИРОВАТЬ Это было несколько лет назад. С тех пор портал закрыли и, возможно, вновь открыли. Я понятия не имею, что это такое. Но в какой-то момент он использовал Django (источник: я применил там один раз).

http://grono.net/ - это польский эквивалент Facebook, которым пользуется довольно много людей (в какой-то момент это было несколько миллионов, а теперь меньше из-за популярности FB). Работает на распространяемой Django.

4 голосов
/ 24 февраля 2010

Да, Django используется в «корпоративном мире». Хорошее описание плюсов, минусов и связанных с ними усилий по развитию можно найти здесь:

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

3 голосов
/ 27 октября 2010

Моя компания использует Python / Django в качестве основы для нашей платформы Intramas. Платформа веб-приложений уровня предприятия, которая развернута примерно для десятка крупных клиентов.

Встроенные функции включают в себя централизованное управление контактами, генератор документов, дополнительные уровни безопасности, графический интерфейс пользователя по умолчанию для быстрого проектирования приложений (без проблем с интерфейсом администратора Django!).

В целом, мы очень довольны тем, что Django является основой для нашей разработки, она очень расширяема, и цикл выпуска приводит к созданию твердого кода (мы часто обновляем).

Хотя наш сайт (http://www.sinax.be) на голландском языке и в настоящее время не очень обширный), вы всегда можете связаться со мной для получения дополнительной информации.

...