Rails или Pylons - какая-нибудь хорошая структура для Python? - PullRequest
2 голосов
/ 22 ноября 2010

У меня нет опыта работы с веб-приложениями, но у меня достаточно опыта в C ++, и я быстро учусь.

Я потратил некоторое время на изучение Python и чтение SQLAlchemy.Мне нравится идея кодирования в чистом Python OO, а затем использовать хороший маппер SQLAlchemy, чтобы сохранить все.Мне нравится этот разделенный подход (использование чистых классов Python вместе с функцией mapper для связи с БД) лучше, чем идея ActiveRecord о Rails.Я думаю, что со временем у меня будет больше контроля над подключением БД к приложению.(Мне нужно работать с БД, которая обновляется в фоновом режиме. Что-то вроде веб-сканера, который заполняет БД.)

В то же время некоторые вещи заставляют меня снова думать о Rails.Как упорядоченная обработка электронной почты и Ajax в Rails.

Правильно ли я думаю, что Rails менее гибок для манипуляций с валидацией форм и работает с БД?И сложнее ли в Pylons обрабатывать электронную почту (уведомления), RSS, Ajax?

Что бы вы предложили?Спасибо

Ответы [ 8 ]

4 голосов
/ 22 ноября 2010

Посмотрите на эти платформы Python:

  1. Django : Вероятно, самый популярный фреймворк Python, но, к лучшему (и хуже), является решением с полным стеком.

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

  3. TurboGears : В качестве попытки создания счастливой среды между Django и Pylons, TurboGears основан на Pylons, но поставляется готовым с определенным выбором компонентов и клеем. держать его вместе.

  4. Zope : Zope - это больше сервер приложений и фреймворк, чем "веб-фреймворк". Просто случается, что он основан на сети.

Первые три вдохновлены Ruby on Rails , но у каждого есть свои идеи по улучшению. Zope предшествует Rails, и это его собственный мир.

Я использовал TurboGears для разработки нескольких небольших приложений. Вроде хорошо. В то время их документы были довольно плохими. Я надеюсь, что это изменилось.

Я также непосредственно использовал Python Paste несколько раз. Вставить - это база HTTP-сервера, на которой базируется Pylons, и, в свою очередь, TurboGears. Опять очень мило.

Также: когда мне был предоставлен выбор, я всегда использовал SQLAlchemy в качестве ORM. Это действительно впечатляющая программа, которую я использовал даже для не-веб-проектов.

Надеюсь, это поможет. Дайте нам знать, какой путь вы выберете. : -)

4 голосов
/ 22 ноября 2010

Взгляните на Джанго .Похоже, это именно то, что вы ищете: -).

1 голос
/ 22 мая 2019

Если вы ищете проект, похожий на rails, вы должны проверить Masonite , современный и ориентированный на разработчиков веб-фреймворк на Python

1 голос
/ 22 ноября 2010

Rails написан на Ruby, а не на Python. Если ваше сердце настроено на Python, тогда используйте Django. Но, пожалуйста, хорошенько встряхните Rails; ActiveRecord - не единственный доступный ORM. Я использую DataMapper для некоторых приложений тоже. Я могу быть предвзятым, но я склонен думать, что экосистема Rails больше, чем экосистема Django.

0 голосов
/ 14 августа 2013

Я использовал Web2Py для многих небольших проектов, включая множество полезных вещей, таких как концепции «Рабочие» и планировщик, некоторые управляемые событиями обновления на веб-странице через короткий пример торнадо в websocket_messaging.py.Если вы ищете небольшую, но мощную среду разработки, которая включает в себя небольшую БД и отображаемые таблицы, это просто потрясающе.Вам даже не нужно писать одну строку HTML.Я не вижу конкурентов в этой области.На мой взгляд, это намного проще и быстрее, чем django, но django может предоставить большую свободу в сложных приложениях.

0 голосов
/ 25 ноября 2010

Можно также взглянуть на Nagare , еще один фреймворк с полным стеком.Некоторые из уже разработанных проектов на базе Nagare можно найти на веб-сайте Nagare.

0 голосов
/ 22 ноября 2010

За эти годы я написал несколько сайтов в Pylons , и мне это очень нравится. Отличительной особенностью Pylons является то, что он состоит в основном из сторонних библиотек. Это означает, что вы изучаете много полезных библиотек, которые могут использоваться в других ваших проектах, например, SQLAlchemy, WebOb, FormEncode, Beaker, Mako и т. Д. Особенно SQLAlchemy и Beaker чрезвычайно полезны практически в любом контексте.

0 голосов
/ 22 ноября 2010

Вы также должны оформить заказ web2py вместо Django .Просто альтернатива, которую вы могли бы рассмотреть.

Вот две статьи "А против Б" и обсуждения относительно этих двух:

  1. Джанго против web2py
  2. Обсуждение сообщества Reddit.com
...