Кто-либо может указать на за и против TG2 по Django?

Используйте одно выражение для всех из них:

\b[A-Z]?\d[/\d]*\b(?:\s+days)?

См. демонстрацию на regex101.com .
Вам нужно уточнить здесь формат «номера счета».

7
задан Matt Howell 7 September 2009 в 00:43
поделиться

8 ответов

TG2 имеет несколько преимуществ, что я думаю, важны:

  • Мультиподдержка БД
  • sharding/data, делящий поддержку
  • давняя поддержка агрегатов, многостолбцовых первичных ключей
  • система транзакции, которая обрабатывает мультитранзакции базы данных для Вас
  • администраторская система, которая работает со всем вышеупомянутым
  • из поля поддерживают для допускающего повторное использование шаблона snipits
  • легкий метод для создания допускающих повторное использование шаблонных библиотек тегов
  • больше гибкости в использовании нестандартных компонентов

Существуют больше, но я думаю, что также важно знать, что у Django есть некоторые преимущества перед TG2:

  • Более крупный, общественный, более активный канал IRC
  • больше допускающих повторное использование компонентов приложения
  • более разработанная документация

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

15
ответ дан 6 December 2019 в 05:08
поделиться

TG2 берет Опоры и изменяет некоторые значения по умолчанию - диспетчеризация объекта вместо Маршрутов и Genshi вместо Мако. Они полагают, что существует только один способ сделать это, таким образом, приложения могут полагаться на тот же API для любого веб-сайта TurboGears.

Общие черты

Различия

  • Django использует ее собственные обработчики для HTTP, маршрутизации, шаблонной обработки и персистентности. У Django также есть звездная документация и установленное сообщество.

  • Значения по умолчанию TurboGears к лучшим среди аналогов библиотекам, которые, по-видимому, являются Вставкой, объектной диспетчеризацией, Genshi и SqlAlchemy. Эта философия производит лучший всесторонний набор инструментов, но рискуя нестабильностью - потому что это означает выбрасывать назад совместимость, если и когда лучшие библиотеки появляются.

14
ответ дан 6 December 2019 в 05:08
поделиться

Поскольку Django использует его собственный ORM, он ограничивает Вас, чтобы узнать что ORM для той определенной веб-платформы. Я думаю с помощью веб-платформы с более популярным ORM (как SqlAlchemy, который TG использует), увеличивает возможности возможности трудоустройства. Просто мои 2 цента..

0
ответ дан 6 December 2019 в 05:08
поделиться

Помимо того, что Nikhil дал в своем ответе, я думаю, что другие незначительные различия то, что Turbogears provdes некоторая поддержка виджетов JavaScript и интеграции с Mochikit.

Принимая во внимание, что Django стойко остается нейтральной платформой JavaScript.

(По крайней мере, это было верно с более старыми версиями Turbogears... это, возможно, изменилось с TG2),

Править: Я просто пробежался через документацию TG2, и посмотрите, что она действительно изменялась. Turbogears теперь использует ToscaWidgets, который может использовать jQuery, ExtJS, Dojo, и т.д. внизу. Это приятно делает это большим количеством платформы нейтральный при тихом обеспечении хороших виджетов JavaScript.

Это кажется мне про для Turbogears, если у Вас нет опыта JavaScript и про для Django, если Вы пишете много специализированного JavaScript.

1
ответ дан 6 December 2019 в 05:08
поделиться

Один из самых важных вопросов не, какие технические характеристики эта платформа обеспечивает, или та платформа обеспечивает, но ведущая философия проекта с открытым исходным кодом и природа сообщества, поддерживающего его.

У меня нет собаки в этой борьбе самого, но я нашел, что разговор Mark Ramm в DjangoCon 2008 был очень интересен по этому вопросу (Google не приведет ни к какому концу последующего обсуждения, несомненно).

1
ответ дан 6 December 2019 в 05:08
поделиться

В последний раз я проверил, django имеет очень плохую реализацию данных. И это - огромная слабость в моей книге. orm Django не позволяет мне использовать питание базовой базы данных. Например, я не могу использовать составные первичные ключи, которые важны для хорошего дизайна дб. Это также не поддерживает больше, чем единая база данных, которая не является грандиозным предприятием, пока Вы действительно не нуждаетесь в нем и находите, что не можете сделать этого, не обращаясь к выполнению его вручную. Наконец, если необходимо внести изменения в структуру базы данных благоприятным для команды способом, необходимо попытаться выбрать между рядом сторонних инструментов миграции.

Turbogears, кажется, является больше архитектурно звуковым, прилагая все усилия для интеграции отдельных инструментов, которые являются потрясающими самостоятельно. И потому что TG является большим количеством интегратора, Вы можете выключить части для удовлетворения предпочтениям. Не любить Алхимию SQL? Можно использовать SQLObject. Не любить шаблоны Genshi? Можно использовать Мако или даже django's, хотя Вы точно не застреваете со значением по умолчанию на django также.

Время для недостатков tg2:

  • TG имеет намного меньшее сообщество, и сообщество обычно обладает своим преимуществом.
  • У Django есть намного лучшее имя. Мне действительно нравится это имя ;-)
  • Django кажется более простым для начинающего веб-разработчика с довольно прохладными административными средствами.
  • TG имеет достойную документацию, но также необходимо перейти к сайту Genshi для изучения Genshi, сайта Алхимии SQL, чтобы узнать, что, и т.д. у Django есть большие документы.

Мои 2 цента.

0
ответ дан 6 December 2019 в 05:08
поделиться

Плюсы.

  • SQLAlchemy> django ORM
  • Несколько языков шаблонов из коробки (genshi, mako, jinja2)
  • больше дружественных к WSGI
  • Object Dispatch> routes> регулярное выражение маршрутизации. Вы можете получить первые 2 с помощью TG2
  • Почти все компоненты являются необязательными, вы можете оставить ядро ​​и использовать любую ORM, шаблон, библиотеку аутентификации и т.д.
  • Sprox> django forms

Минусы. - Админ более простой (пока нет встроенных объектов!) - меньше сторонних приложений - Система "приложений" все еще в разработке. - учитывая его модульность, вам необходимо читать документацию из разных источников (SQLAlchemy, Genshi или Mako, repoze.who, Pylons и т. д.)

5
ответ дан 6 December 2019 в 05:08
поделиться

Несколько месяцев назад я боролся с тем же вопросом и остановился на Turbogears 2 , и мои рассуждения были просты. « Я новичок в python, я хочу изучить его не только для веб-проектов, но и как замену php для написания небольших помощников »

Что мне не понравилось в Django, мне выглядит как «закрытая площадка». ORM, система шаблонов, сеансы и т. Д. - все они принадлежат Django

С другой стороны, Turbogears 2 использует уже известные открытые платформы и просто склеивает их, точно так же, как Appfuse делает это для Java

с TurboGears 2 Я изучаю SQLAlchemy, который могу использовать позже для небольших сценариев Python или из оболочки Python для решения общих задач.

Основными недостатками являются отсутствие полной документации и сообщений об ошибках.

Иногда вам нужно очень глубоко искать простые решения, кривая обучения крутая, но это окупается в долгосрочной перспективе. Сообщения об ошибках, которые меня очень сбивают с толку (из-за более чем 10 лет разработки Java). Я потерял много часов, пытаясь найти «ошибку кодирования ascii», когда реальная проблема заключалась в том, что модуль не импортировался.

Это мое мнение, просто помните, что я новичок в python и могу ошибаться во многих вещах, изложенных здесь .

2
ответ дан 6 December 2019 в 05:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: