Подтвердить что ты не робот

Django против Grok/Zope3 против пилонов

Я программист, тренируясь, но некоторое время не работал в веб-разработке. Я занимаюсь небольшими исследованиями на различных платформах веб-разработки Python. Я понимаю, что Django, Grok/Zope 3 и Pylons - все это хорошие прочные рамки, но у них мало возможностей работать с ними. Может ли кто-нибудь объяснить мне разницу в подходе к каждой из фреймворков и где сияет по сравнению с другими?

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

В последнем пункте, помогут ли части Plone предоставить интерфейс для нетехнических людей для загрузки продуктов и описаний продуктов? Кусок Plone легко заимствовать? Похоже, мне не нужно было изобретать велосипед с точки зрения того, чтобы люди могли загружать предметы для продажи/рекомендации вместе с некоторыми метаданными для описания предметов. Спасибо за помощь.

4b9b3361

Ответ 1

Исходя из вашего фона и требований, я бы посоветовал вам пойти с чем-то вроде http://pinaxproject.com/, который основан на Django.

Пирамида (преемник Pylons) - это очень низкоуровневая структура, и вам нужно либо выбрать библиотеки, либо написать весь свой код приложения самостоятельно. Для кого-то это имеет смысл и дает вам полный контроль над вашим кодом. Но это немного препятствие, если вы начинаете с нуля и не знакомы с доступными библиотеками.

Django и Grok - это высокоуровневые рамки, причем Django является более популярным выбором. Если вы еще не знакомы с использованием баз данных объектов или обхода URL, Grok требует больше времени для изучения.

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

Отказ от ответственности: я менеджер релизов для Plone и Zope 2/Zope Toolkit и использовал Pyramid, но не Django.

Ответ 2

Проект Dolmen - это CMS, построенный поверх Grok. Очень просто, но их очень мало. Если вы перейдете к Grok, вы сможете повторно использовать графический интерфейс.

Но, как сказал Ханно, Гроку больше нужно учиться, чем Джанго. Также у Django гораздо больше пользователей, чем у Grok.

Преимущество использования Grok заключается в том, что вы можете получить прибыль от Zope Component Architecture почти без написания ZCML и использования декораторов.

С Pyramid/Pylons вы получаете очень простую структуру и ничего больше. Это развязанный фреймворк, поэтому вы можете свободно использовать любые шаблоны, которые вы хотите (Mako, Genshi, Jinja, Cheetah), вы можете выбрать sqlalchemy, zodb, mongoDb и т.д., И вы также можете выбрать URL-адрес (обход по сравнению с сопоставлением в стиле джанго или их комбинацией). Вы также можете использовать ZCA здесь, если хотите. Для начала это может стать довольно запутанным или многословным.

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

И, что касается Zope3, я бы рекомендовал вам скачать копию BlueBream и сделать так, как она для вас.

Ответ 3

Как пользователь Plone, я могу сказать, что создание объектов контента в Plone затруднено. Существует мало документации о том, как это сделать, и это сложно. Некоторые рекомендуют использовать UML и специализированные продукты Plone, чтобы упростить их, но это добавляет еще одну зависимость.

Я упоминаю проблему с объектами контента, потому что ваши "продукты" (не такие как продукт Plone), вероятно, будут представлены в Plone как объект контента, который вам нужно будет написать самостоятельно.

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

- Джонатан Марк