Путаница в Python Webframework

Не мог бы кто-нибудь объяснить мне, как текущая веб-фреймворк Python сочетается друг с другом?

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

Почему в 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 может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
10
0
2 540
5

Ответы 5

Конечно, это еще не все.

Вот полный список и подробности!

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

Выдержка из ссылки выше:

Popular Full-Stack Frameworks

A web application may use a combination of a base HTTP application server, a storage mechanism such as a database, a template engine, a request dispatcher, an authentication module and an AJAX toolkit. These can be individual components or be provided together in a high-level framework.

These are the most popular high-level frameworks. Many of them include components listed on the WebComponents page.

Django (1.0 Released 2008-09-03) a high-level Python Web framework that encourages rapid development and clean, pragmatic design

Pylons (0.9.6.2 Released 2008-05-28) a lightweight Web framework emphasizing flexibility and rapid development. It combines the very best ideas from the worlds of Ruby, Python and Perl, providing a structured but extremely flexible Python Web framework. It's also one of the first projects to leverage the emerging WSGI standard, which allows extensive re-use and flexibility but only if you need it. Out of the box, Pylons aims to make Web development fast, flexible and easy. Pylons is built on top of Paste (see below).

TurboGears (1.0.4.4 Released 2008-03-07) the rapid Web development megaframework you've been looking for. Combines CherryPy, Kid, SQLObject and MochiKit. After reviewing the website check out: QuickStart Manual

web2py (currently version 1.43) Everything in one package with no dependencies. Development, deployment, debugging, testing, database administration and maintenance of applications can be done via the provided web interface. web2py has no configuration files, requires no installation, can run off a USB drive. web2py uses Python for the Model, the Views and the Controllers, has a built-in ticketing system to manage errors, an internationalization engine, works with MySQL, PostgreSQL, SQLite , Oracle, MSSQL and the Google App Engine via an ORM abstraction layer. web2py includes libraries to handle HTML/XML, RSS, ATOM, CSV, RTF, JSON, AJAX, XMLRPC, WIKI markup. Production ready, capable of upload/download of very large files, and always backward compatible.

Grok (0.13 Released 2008-06-23) is built on the existing Zope 3 libraries, but aims to provide an easier learning curve and a more agile development experience. It does this by placing an emphasis on convention over configuration and DRY (Don't Repeat Yourself).

Zope (2.10.4 Released 2007-07-04, 3.3.1 Released 2007-01-14, Zope 3.4.0c1 Released 2008-01-31) Being the grandaddy of Python web frameworks, Zope has grown into a family of frameworks over the years. Zope 1 was released in 1999. Zope 2 is both a web framework and a general purpose application server, today it is primarily used by ContentManagementSystems. Zope 3 is both a standalone framework and a collection of related libraries, which are also included with newer releases of Zope 2. All of the Zope frameworks include the ZODB, an object database for Python.

Если вы ищете комплексное решение, стоит упомянуть, что лидером группы в этом пространстве является Джанго.

@jpartogi не может помочь ... ЛМАО!

user860672 22.11.2011 03:09

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

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

Вы пробовали 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"}

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

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

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