Какая хорошая легкая структура MVC Python?
Я знаю, что есть тонна фреймворков Python. Можете ли вы, ребята, указать мне в правильном направлении? Моя главная забота - простота, мне не нужно много посторонних функций.
Вот несколько других вещей, которые я хочу (или не хочу):
- не заботится о ORM, просто хочу, чтобы он работал с MySQL
- имеет настраиваемые маршруты
- поддерживает макеты
Ответы
Ответ 1
web2py составляет 265 Кбайт исходного кода и 1.2 МБ все включено (сравните с 4.6 МБ Django). Тем не менее web2py сделает все, что вам нужно (управлять сеансом, куки, запрос, ответ, кеш, интернационализация, ошибки/билеты, абстракцию базы данных для GAE, SQLite, MSSQL, MySQL, Postgres, Oracle, FireBird и т.д.). - просто разархивируйте и щелкните по нему - и вы можете сделать разработку в своем браузере.
Web2py имеет как маршруты, так и обратные маршруты.
Web2py имеет иерархические системы шаблонов, что означает, что представление может расширить макет, который может расширить другой макет и т.д. Представления могут также включать другие представления.
Ответ 2
Поскольку вы явно не хотите ORM, я бы держался подальше от рамки "полного стека", если бы я был вами. Стандарт Python WSGI дает вам массу простых в использовании опций, которые предоставят вам только те функции, которые вам нужны, и даже позволят вам выбрать свой стиль работы.
Вот пример: для отправки URL-адреса вы можете использовать Routes, в котором порты превышают стиль отправки URL-адресов Rails. Или вы можете комбинировать Selector с WebOb, если этот стиль вам больше подходит.
Для "макетов" вы можете использовать мощный Jinja2, если вам нужны шаблоны, которые не могут запускать код. Или Mako, если вы предпочитаете смешивать небольшой код с вашими шаблонами. Вы можете использовать Deliverance для управления макетом страниц, состоящих из нескольких приложений и даже нескольких языков!
Веб-фреймворк с полным стеком хорош в том, что он предлагает вам множество вариантов, позволяя вам обратить внимание только на приложение вашего здания. Но выбор, который я перечислил выше, является хорошей коллекцией, чтобы вы могли строить свои собственные. Если вы опуститесь по этому пути, вам будет легко подключить Beaker для кеширования и сеансов, если они вам нужны, или WebError, чтобы помочь вам в отладке.
Лично я большой поклонник ORM (особенно SQLAlchemy), но если вы хотите пойти ORM бесплатно и В общем случае вы не можете комбинировать отличные компоненты WSGI, доступные в Python.
Ответ 3
Дайте web.py попробовать. Это очень просто и может обеспечить минимализм, который вы ищете.
Ответ 4
Пилоны.
Это намного лучше, чем django, и не приходит с дрянным ORM.
Ответ 5
Люди уже дали много ответов в отношении веб-приложений, но MVC (или любая другая парадигма) не привязана только к сети. Это просто для ясности.
Если вы про простой MVC, Pylons более точно соответствует парадигме. Django интерпретирует MVC, и они называют это model-template-view, но идея разделения роли одинакова. Фактический выбор - это вопрос личного вкуса, хотя ни один из этих двух я не считаю lightweigth (Пилоны могут казаться более легкими, но на самом деле это не так, и в последнее время Django собрал дополнительный вес - скорее всего, вы не подойдете даже к небольшому приложению, например, к личным блогам в 20 МБ).
Конечно, ничто не остановит вас от написания вашей собственной структуры, например. с WebOb. Вы можете сделать его таким же легким, как вы хотите (и научиться многим вещам).
Ответ 6
Если вам нужно что-то простое, без необходимости создавать свой собственный framework, но все же не все включено (django), вы можете захотеть попробуйте CherryPy. Он может использовать почти любой диспетчер (система маршрутизации страниц/URL-адресов). Вам также нужно будет выбрать свой собственный механизм шаблонов, Genshi - мой любимый.
Ответ 7
Когда дело доходит до настольных приложений Dabo, это хороший выбор. Это кросс-платформенная платформа поверх wxPython, которая поддерживает MySql, Postgresql, Firebird и Sqlite.
Ответ 8
Вы хотите web2py. Проверьте это:
- не заботится о ORM, просто хочу, чтобы он работал с MySQL
Web2py не имеет ORM, но у него есть синтаксическая оболочка над SQL, что упрощает выполнение SQL.
- имеет настраиваемые маршруты
- поддерживает макеты
... web2py имеет оба этих параметра.
И web2py является более легким, чем django/rails/все, что на самом деле имеет значение. ОЧЕНЬ легко учиться. Самое сложное в изучении структуры MVC - это скрипты, ORM и (с django) язык шаблонов. Но web2py избавился от скриптов, упростил ORM, а язык шаблонов - просто python в устном способе.
Ответ 9
checkout https://github.com/salimane/bottle-mvc или https://github.com/salimane/flask-mvc. Они являются шаблонами, которые могут помочь вам начать с контроллеров, моделей в отдельных папках. Они основаны на микроархивах с бутылками и флягами, без бесполезных функций, они дают вам гибкость для плагинов любых модулей, которые вы хотите.
Ответ 10
Джанго!
Google App Engine использует его.
Я тоже использую его для своих собственных проектов для домашних животных.
Ответ 11
Да, я бы сказал, что Django - это, безусловно, путь. Его модульная конструкция гарантирует, что вы можете смешивать и сопоставлять компоненты (ORM, шаблонный движок, отправка URL-адресов,...) Вместо того, чтобы застревать с компонентом, который предоставляет инфраструктура, вы можете заменить его на любой сторонний эквивалент.
Ответ 12
web2py! django вызывает диспетчерский вид, - сказал нюф.
Ответ 13
Если вы хотите простоту, используйте web2py или pylons. Django хорош... но кривая обучения крутая
Ответ 14
Джанго. Вам не нужно использовать дополнительные функции, и он хорошо разработан, чтобы вы могли микшировать n-match сторонних библиотек по мере необходимости.
Ответ 15
Я действительно новичок на Python, но я попробовал немного, особенно Django и web2py.
Мне понравилась простота web2py, через несколько дней я смог создать сайт средней сложности.
У него есть неопровержимые наборы функций DAL, генерация кода, HTML hlpers, и для меня самой важной особенностью была полная документация на сайте.
Ответ 16
Я бы посмотрел на Pylons; он легкий и быстрый.
Ответ 17
Я тоже на лодке Django. Вот несколько причин:
Ответ 18
Django - моя рекомендация.
Вы можете найти введение в него здесь (Google Tech Talk от Jacob Kaplan-Moss):
И вы также можете взглянуть на Рассказ Адриана Холовати, данный в "Змеи и рубины" , Университет ДеПаула:
Ответ 19
Хотя не все фреймворки Python явно поддерживают MVC, часто тривиально создавать веб-сайт, который использует шаблон MVC, отделяя логику данных (модель) от логики взаимодействия пользователя (контроллера) и шаблонов (вид).
http://docs.python.org/howto/webservers.html#model-view-controller