Какой хороший легкий фреймворк Python MVC?

Я знаю, что существует множество фреймворков Python. Можете ли вы указать мне правильное направление? Моя главная забота - простота, мне не нужно много посторонних функций. Вот еще пара вещей, которые я бы хотел (или не хотел):

  • не заботится о ORM, просто хочу, чтобы он работал с MySQL
  • имеет настраиваемые маршруты
  • есть поддержка макетов

Оформить заказ pyMVC github.com/hasankhan/pyMVC

Muhammad Hasan Khan 24.01.2013 12:05

Разве тебе не нравится, как закрываются все самые интересные вопросы?

Dominic 01.05.2014 17:24
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
71
2
62 067
19

Ответы 19

Джанго!

Google App Engine использует его.

Я тоже использую его для своих домашних проектов.

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

Да, я бы сказал, что Django определенно лучший вариант. Его модульная конструкция гарантирует, что вы можете смешивать и сопоставлять компоненты (ORM, механизм создания шаблонов, отправка URL-адресов, ...). Вместо того, чтобы застревать в компоненте, который предоставляет вам фреймворк, вы можете заменить его любым сторонним эквивалентом.

Меняя компонент имеет это цена. Например: изменение ORM или шаблона будет мешать работе интерфейса администратора.

pihentagy 17.12.2009 18:11

Не мешает. Администратор не является частью django, это внешнее приложение. Неважно, какой ORM вы используете. Более того, вам не нужно использовать админку. Но вы можете запустить администратора (который будет использовать ORM django) и другой ORM одновременно.

e-satis 10.08.2010 15:56

Я действительно новичок в Python, но я попробовал несколько, особенно Django и web2py. Мне понравилась простота web2py, я смог создать сайт средней сложности за несколько дней. Он имеет непрецессный набор функций: DAL, генерацию кода, HTML hlpers, и для меня самой важной особенностью была полная документация на сайте.

Джанго - моя рекомендация.

Вы можете найти введение в это здесь (Google Tech Talk Джейкоба Каплан-Мосса):

И вы также можете взглянуть на Выступление Адриана Головатого на сайте Snakes and Rubies, Университет ДеПола:

Я проголосовал против из-за txt Speak.

Will Harris 16.09.2008 11:54

Пилоны.

Это намного лучше, чем django, и в нем нет дрянной ORM.

Просто не обращайте внимания на то, что тот факт, что Django поставляется с (предположительно) паршивым OR / M, не означает, что вам нужно использовать указанное OR / M, благодаря модульному характеру Django.

Lucas Jones 26.07.2009 14:47

ахаха, продолжай себе это повторять. Django - это наиболее распространенный монолитный веб-фреймворк на Python.

habnabit 29.07.2009 04:53

Вся фраза «Пилоны есть, но не пирамида» очень сбивает с толку. И похоже, что «Пирамида» НЕ является MVC, по их собственным словам, ее «RV» («Просмотр ресурсов»). См. «Вы говорите, что пирамида - это MVC, но где контроллер?» в Pyramid Docs.

CmdrTallen 12.08.2012 19:44

Попробуйте web.py. Это очень просто и может обеспечить тот минимализм, который вы ищете.

Если вам нужно что-то простое, без необходимости создавать свой собственный рамки, но при этом не все включено (django), вы можете попробовать CherryPy. Он может использовать практически любой диспетчер (обработчик страниц / система маршрутизации URL). Вам также придется выбрать свой собственный шаблонизатор, Генши - мой любимый.

Я бы посмотрел на Пилоны; он легкий и быстрый.

Я тоже на лодке Джанго. Вот несколько причин, почему:

Люди уже дали много ответов о фреймворках веб-приложений, но MVC (или любая другая парадигма) не привязана только к сети. Это просто для ясности.

Если вы говорите о простом MVC, Pylons более строго соответствует парадигме. Django интерпретирует MVC, и они называют это модель-шаблон-просмотр, но идея разделения ролей та же. Фактический выбор - дело личного вкуса, хотя ни один из этих двух я не считаю легкий (Pylons может показаться более легкий, но на самом деле это не так, и недавно Django набрал некоторый дополнительный вес - скорее всего, вам не поместится даже небольшое приложение, такое как личный блог, в Резидентная память 20 МБ).

Конечно, ничто не помешает вам написать собственный фреймворк, например. с WebOb. Вы можете сделать его как свет, как хотите (и многому научиться, пытаясь).

Поскольку вам явно не нужна ORM, на вашем месте я бы отказался от фреймворка с полным стеком. Стандарт Python WSGI дает вам массу простых в использовании опций, которые предоставят вам только те функции, которые вам нужны, и даже позволят вам выбрать свой стиль работы.

Вот пример: для отправки URL-адресов вы можете использовать Маршруты, который портирует через стиль отправки URL-адресов Rails. Или вы можете комбинировать Селектор с WebOb, если этот стиль вам больше подходит.

Для «макетов» вы можете использовать мощный Jinja2, если вам нужны шаблоны, которые не могут запускать код. Или Мако, если вы предпочитаете иметь возможность смешивать небольшой код с вашими шаблонами. Вы даже можете использовать Избавление для управления макетом страниц, составленных из нескольких приложений и даже на нескольких языках!

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

Лично я большой поклонник ORM (особенно SQLAlchemy), но если вы хотите, чтобы ORM был свободным и легким в целом, вы не сможете превзойти сочетание отличных компонентов WSGI, доступных в Python.

web2py! «django называет контроллер представлением», - сказал Нуф.

Но их View - это в основном то же самое, что и MVC-контроллер. Если шаблон по-прежнему MVC, и вы понимаете его дизайн, имеет ли значение номенклатура? Я предполагаю, что вы могли бы назвать это MTV, чтобы следовать номенклатуре Django (модель-шаблон-представление), но тогда, вероятно, будут судебные иски.

Neal Stublen 08.09.2010 08:12

Что насчет web2py, что делает его хорошим фреймворком? Пожалуйста, объясните, представьте примеры и / или добавьте ссылки.

agf 14.04.2012 05:00

web2py - это 265 Кбайт исходного кода и 1,2 Мбайт «все включено» (сравните с 4,6 Мбайт Django). Тем не менее, web2py будет делать все, что вам нужно (управлять сеансом, файлами cookie, запросами, ответами, кешем, интернационализацией, ошибками / билетами, абстракцией базы данных для GAE, SQLite, MSSQL, MySQL, Postgres, Oracle, FireBird и т. д.). Установка не требуется. - просто разархивируйте и щелкните по нему - и вы можете заниматься разработкой в ​​своем браузере.

Web2py имеет как маршруты, так и обратные маршруты.

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

В чем-то он лучше, чем Django, или единственное преимущество - он меньше?

ripper234 06.07.2011 13:34

Мне не нужна установка - просто разархивируйте и щелкните по нему - и вы можете заниматься разработкой в ​​своем браузере.

goFrendiAsgard 26.10.2013 18:09

Когда дело доходит до настольных приложений, Дабо - хороший выбор. Это кроссплатформенный фреймворк поверх wxPython, который поддерживает MySql, Postgresql, Firebird и Sqlite.

Если вам нужна простота, используйте web2py или pylons. Django хорош ... но кривая обучения крутая

Вам нужен web2py. Проверь это:

  • не заботится о ORM, просто хочу, чтобы он работал с MySQL

В Web2py нет ORM, но есть синтаксическая оболочка над SQL, которая значительно упрощает выполнение SQL.

  • имеет настраиваемые маршруты
  • есть поддержка макетов

... в web2py есть и то, и другое.

А web2py более легкий, чем django / rails / something, практически по всем параметрам. Этому ОЧЕНЬ легко научиться. Самое сложное в изучении фреймворка MVC - это скрипты, ORM и (с django) язык шаблонов. Но web2py избавился от скриптов, упростил ORM, а язык шаблонов - это просто python в очень умной манере.

Хотя не все платформы Python явно поддерживают MVC, часто тривиально создать веб-сайт, который использует шаблон MVC, отделив логику данных (модель) от логики взаимодействия с пользователем (контроллер) и шаблоны (представление).

http://docs.python.org/howto/webservers.html#model-view-controller

Талия времени. Ссылка ничего не говорит.

r4. 02.03.2012 01:34

Следует удалить. Даже пытаться не отвечает на вопрос. (вопрос, конечно, "закрытый" в сторону;)

Zayne S Halsall 02.07.2013 17:23

кассу https://github.com/salimane/bottle-mvc или https://github.com/salimane/flask-mvc. Это шаблоны, которые могут помочь вам начать работу с контроллерами, моделями в отдельных папках. Они основаны на микро-фреймворках для бутылок и фляг, без бесполезных функций, они дают вам гибкость для подключения любых модулей, которые вы хотите.

Я также очень рекомендую ознакомиться с Flask и производными.

ngeek 29.11.2012 01:55

Другие вопросы по теме