что такое хороший облегченный python mvc фреймворк?

<p>я знаю, что существует множество фреймворков python. ребята, можете ли вы указать мне правильное направление? моя главная задача - простота, мне не нужно много посторонних функций. вот еще пара вещей, которые я бы хотел (или не хотел):</p><ul> <li>не волнует orm, просто хочу, чтобы он работал с mysql</li> <li>имеет настраиваемые маршруты</li> <li>имеет поддержку макетов</li> </ul>

<p> <a href="http://www.web2py.com/"><strong> web2py </strong></a> - это 265 кб исходного кода и 1,2 мб включительно (сравните с 4,6 мб django). тем не менее, web2py будет делать все, что вам нужно (управлять сессией, файлами cookie, запросом, ответом, кэшем, интернационализацией, ошибками/тикетами, абстракцией базы данных для gae, sqlite, mssql, mysql, postgres, oracle, firebird и т.д.). не требует установки. - просто разархивируйте и нажмите на него - и вы сможете заняться разработкой в своем браузере.</p><p>web2py имеет как маршруты, так и обратные маршруты.</p><p>web2py имеет иерархические системы шаблонов, что означает, что представление может расширять макет, который может расширять другой макет, и т.д. представления могут также включать другие представления.</p>

<p>поскольку вы явно не хотите orm, я бы держался подальше от фреймворка с полным стеком, если бы вы были вами. стандарт python wsgi предоставляет вам массу простых в использовании опций, которые дадут вам именно те функции, которые вам нужны, и даже позволят вам выбрать свой стиль работы.</p><p>вот пример: для отправки url вы можете использовать <a href="http://routes.groovie.org/">routes</a> , который переносится через стиль отправки url в rails. или вы можете объединить <a href="http://lukearno.com/projects/selector/">selector</a> с <a href="http://pythonpaste.org/webob/">webob</a> , если этот стиль вам больше подходит.</p><p>для "макетов" вы можете использовать мощный <a href="http://jinja.pocoo.org/2/documentation/">jinja2</a> , если вы хотите шаблоны, которые не могут выполнять код. или <a href="http://www.makotemplates.org/">мако</a> , если вы предпочитаете смешивать небольшой код с вашими шаблонами. вы даже можете использовать <a href="http://www.openplans.org/projects/deliverance/introduction">deliverance</a> для управления макетом страниц, которые составлены из нескольких приложений и даже из нескольких языков!</p><p>полнофункциональный веб-фреймворк приятен тем, что он делает для вас кучу вариантов, позволяя вам обратить внимание только на приложение вашего здания. но варианты, которые я перечислил выше, являются хорошей коллекцией, которая поможет вам создать свой собственный. если вы пойдете по этому пути, вам будет легко подключить <a href="http://beaker.groovie.org/">beaker</a> для кэширования и сессий, если они вам нужны, или <a href="http://pypi.python.org/pypi/weberror">weberror</a> , чтобы помочь вам в отладке.</p><p>лично я большой поклонник orm (особенно <a href="http://sqlalchemy.org/">sqlalchemy</a> ), но если вы хотите сделать orm бесплатным и легким в целом, вы не сможете победить, комбинируя отличные компоненты wsgi, доступные в python.</p>

<p>дайте <a href="http://webpy.org/">web.py</a> попробовать. это очень просто и может обеспечить минимализм, который вы ищете.</p>

<p> <a href="http://pylonshq.com/">пилоны.</a> </p><p>это намного лучше, чем django, и не поставляется с вым orm.</p>

<p>люди уже давали много ответов относительно фреймворков веб-приложений, но mvc (или любая другая парадигма) не привязана только к сети. это только для ясности.</p><p>если вы о простом mvc, pylons более строго соответствует парадигме. django интерпретирует mvc, и они называют его <em> модель-шаблон-представление </em>, но идея разделения ролей та же. фактический выбор - дело личного вкуса, хотя ни один из этих двух я не считаю <em> легковесным </em> (пилоны могут показаться <em> легче </em>, но на самом деле это не так, и недавно django приобрел некоторый дополнительный вес - скорее всего, вы не поместите даже небольшое приложение, такое как личный блог, в резидентную память объемом 20 мб).</p><p>конечно, ничто не остановит вас от написания вашей собственной структуры, например. с <a href="http://pythonpaste.org/webob/">webob</a> . вы можете сделать это <em> легким </em>, как хотите (и многому научиться, пытаясь).</p>

<p>оформить заказ <a href="https://github.com/salimane/bottle-mvc">https://github.com/salimane/bottle-mvc</a> или <a href="https://github.com/salimane/flask-mvc">https://github.com/salimane/flask-mvc</a> . это шаблоны, которые могут помочь вам начать с контроллеров, моделей в отдельных папках. они основаны на бутылочных и flask микро-фреймворках, никаких бесполезных функций, они дают вам возможность подключать любые модули, которые вы хотите.</p>

<p>если вы хотите что-то простое, без необходимости создавать свои собственные <a href="http://pythonpaste.org/">framework</a> , но при этом не все включено (django), вы можете попробовать <a href="http://www.cherrypy.org/">cherrypy</a> . он может использовать практически любой <a href="http://www.cherrypy.org/wiki/pagehandlers">диспетчер</a> (обработчик страниц/система маршрутизации url). вам также нужно будет выбрать свой собственный движок шаблонов, <a href="http://genshi.edgewall.org/">genshi</a> мой любимый.</p>

<p>когда дело доходит до настольных приложений <a href="http://dabodev.com">dabo</a> это хороший выбор. это кроссплатформенный фреймворк поверх wxpython, который поддерживает mysql, postgresql, firebird и sqlite.</p>

<p>вы хотите web2py. проверь это:</p><ul> <li>не волнует orm, просто хочу, чтобы он работал с mysql</li> </ul><p>у web2py нет orm, но у него есть синтаксическая оболочка над sql, которая значительно упрощает выполнение sql.</p><ul> <li>имеет настраиваемые маршруты</li> <li>имеет поддержку макетов</li> </ul><p>... у web2py есть оба из них.</p><p>и web2py более легок, чем django/rails/что угодно, почти во всех отношениях. это очень легко учиться. самыми сложными в изучении инфраструктуры mvc являются сценарии, orm и (с django) язык шаблонов. но web2py избавился от сценариев, упростил orm, и язык шаблонов просто python очень умным способом.</p>

<p>джанго!</p><p>google app engine использует его.</p><p>я тоже использую его для своих любимых проектов.</p>

<p>да, я бы сказал, что django, безусловно, путь. его модульная конструкция гарантирует, что вы можете смешивать и сопоставлять компоненты (orm, механизм шаблонов, диспетчеризация url, ...) вместо того, чтобы застрять с компонентом, который предоставляет вам инфраструктура, вы можете заменить его любым сторонним эквивалентом.</p>

<p>web2py! django вызывает контроллер для представления, 'сказал нуф.</p>

<p>если вы хотите простоты, используйте web2py или pylons. django это хорошо ... но кривая обучения крутая</p>

<p>джанго. вы не <em>не имеете</em>, чтобы использовать дополнительные функции, и он хорошо спроектирован, так что вы можете при необходимости смешивать и сравнивать сторонние библиотеки.</p>

<p>я бы взглянул на <a href="http://www.pylonshq.com/">pylons</a> ; это легкий и быстрый.</p>

<p>я также на лодке django. вот несколько причин, почему:</p><ul> <li>скорее всего, вы сэкономите время с помощью интерфейса администратора <a href="http://docs.djangoproject.com/en/dev/ref/contrib/admin/#ref-contrib-admin"></a> в django, избегая ручных запросов.</li> <li>шаблонная система джанго <a href="http://docs.djangoproject.com/en/dev/topics/templates/#topics-templates"></a> фантастическая</li> <li>у django есть замечательное <a href="http://www.djangoproject.com/community/">сообщество</a> , которое очень хочет помочь (см. #django на <a href="http://freenode.net">freenode</a> )</li> </ul>

<p>я действительно новичок в python, но немного попробовал, особенно django и web2py. мне понравилась простота web2py, я смог создать сайт средней сложности за несколько дней. он имеет набор функций dal, генерацию кода, html-хелперы, и для меня самая важная особенность была в том, что документация на сайте довольно полная.</p>

<p> <a href="http://www.djangoproject.com/"><em> django </em></a> моя рекомендация.</p><p>вы можете найти <a href="http://video.google.com/videoplay?docid=-70449010942275062&ei=yshpsmqqizh8qap81estag&q=django">введение здесь</a> (google tech talk от джейкоба каплана-мосса):</p><p>и вы также можете захотеть взглянуть на <a href="http://www.vimeo.com/1280871">выступление адриана головатого в "змеях и рубинах"</a> , университет деполь:</p>