Python Webframework Confusion

Может кто-нибудь объяснить мне, как совмещается текущая веб-работа на Python?

Три, о которых я слышал, это CherryPy, TurboGears и Pylons. Однако я в замешательстве, потому что TurboGears, кажется, использует CherryPy в качестве "контроллера" (хотя CherryPy сама по себе не является фреймворком?), А TurbGears 2 будет построен поверх Pylons (который, как я думал, то же самое?).

4 ответа

Есть больше к этому конечно.

Вот полный список и детали!

Веб-фреймворки для Python

Выдержка из вышеуказанной ссылки:

Популярные фреймворки с полным стеком

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

Это самые популярные фреймворки высокого уровня. Многие из них включают компоненты, перечисленные на странице WebComponents.

Django ( версия 1.0 выпущена 2008-09-03) - веб-среда Python высокого уровня, которая способствует быстрой разработке и чистому, прагматичному дизайну

Pylons (0.9.6.2, выпуск 2008-05-28) - легковесная веб-инфраструктура, подчеркивающая гибкость и быстрое развитие. Он сочетает в себе самые лучшие идеи из миров Ruby, Python и Perl, предоставляя структурированную, но чрезвычайно гибкую веб-среду Python. Это также один из первых проектов, использующих появляющийся стандарт WSGI, который допускает широкое повторное использование и гибкость, но только в случае необходимости. Изначально Pylons стремится сделать веб-разработку быстрой, гибкой и простой. Пилоны построены сверху Paste (см. Ниже).

TurboGears (1.0.4.4 выпущен 2008-03-07) мегафрейм для быстрой веб-разработки, который вы искали. Объединяет CherryPy, Kid, SQLObject и MochiKit. После просмотра сайта ознакомьтесь: QuickStart Manual

web2py (в настоящее время версия 1.43) Все в одном пакете без зависимостей. Разработка, развертывание, отладка, тестирование, администрирование базы данных и обслуживание приложений могут быть выполнены через предоставленный веб-интерфейс. web2py не имеет файлов конфигурации, не требует установки, может работать с USB-накопителя. web2py использует Python для Модели, Представлений и Контроллеров, имеет встроенную систему управления билетами, механизм интернационализации, работает с MySQL, PostgreSQL, SQLite, Oracle, MSSQL и Google App Engine через уровень абстракции ORM. web2py включает в себя библиотеки для обработки HTML/XML, RSS, ATOM, CSV, RTF, JSON, AJAX, XMLRPC, WIKI. Готовый продукт, способный загружать / скачивать очень большие файлы и всегда обратно совместимый.

Grok (выпущен в версии 0.13 2008-06-23) построен на базе существующих библиотек Zope 3, но нацелен на то, чтобы обеспечить более легкую кривую обучения и более гибкий опыт разработки. Это достигается путем акцентирования внимания на конфигурации, а не на СУХОЙ (не повторяйте себя).

Zope (2.10.4 Выпущено 2007-07-04, 3.3.1 Выпущено 2007-01-14, Zope 3.4.0c1 Выпущено 2008-01-31) Будучи прародителем веб-фреймворков Python, Zope превратился в семейство фреймворков над года. Zope 1 был выпущен в 1999 году. Zope 2 является как веб-фреймворком, так и сервером приложений общего назначения, сегодня он в основном используется ContentManagementSystems. Zope 3 является как автономной платформой, так и набором связанных библиотек, которые также включены в новые версии Zope 2. Все фреймворки Zope включают ZODB, объектную базу данных для Python.

Попробуйте web2py. Это точка и нажмите (вам даже не нужно устанавливать Python, поставляется с ним). Вы разрабатываете, используя веб-интерфейс, и вы можете развернуть его практически везде, включая iPhone, Oracle и Google App Engine. Прежде чем попробовать web2py, попробуйте установить некоторые другие фреймворки Python, вы оцените это еще больше.

CherryPy - это не веб-фреймворк с полным стеком (как, например, Django), на самом деле это не веб-фреймворк, а HTTP-фреймворк. Написание веб-приложения с использованием CherryPy очень похоже на написание обычного объектно-ориентированного приложения на Python. Кроме того, CherryPy имеет свой собственный готовый к работе веб-сервер WSGI, который также может использоваться для приложений, написанных с использованием других платформ, что приводит к путанице вокруг CherryPy в качестве каркаса.

Если вы ищете решение от начала до конца, то стоит упомянуть, что лидером в этой области является Django

Вы пробовали FastAPI. Это современная, быстрая (высокопроизводительная) веб-платформа для создания API-интерфейсов с Python 3.6+ на основе стандартных подсказок типа Python.

Довольно простой в освоении, довольно мощный и легкий. https://fastapi.tiangolo.com/

Я использую для своего приложения, и он похож на Flask, но довольно надежен.

from fastapi import FastAPI

app = FastAPI()


@app.get("/")
def read_root():
    return {"Hello": "World"}

Некоторые видеоуроки можно найти здесь

Вы также можете найти много справочных материалов из здесь

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