Python

10 лучших веб-фреймворков Python

10 лучших веб-фреймворков Python
Если вы хотите создать веб-сайт, вам понадобятся HTML, JavaScript и CSS. Чтобы создать веб-сайт с использованием Python, вам понадобится еще несколько вещей. Это способы создания HTML, CSS и, возможно, даже JavaScript. Вы можете создать процедуры для написания каждой веб-страницы, когда пользователи взаимодействуют с сайтом и происходят другие события. Именно это и сделали авторы веб-фреймворков, упростив создание страниц и целых сайтов. Назвать это простым - это преувеличение, но, по крайней мере, это поможет ускорить процесс.

Какие типы веб-фреймворков существуют?

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

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

Что ты хочешь создать?

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

Что вы узнаете о каждой структуре?

В этой статье вы узнаете, какой фреймворк лучше всего подходит для вас, основываясь на следующем списке фреймворков:

Джанго

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

Колба

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

Фреймворк Web2Py

Web2Py работает как есть, когда он установлен, он поставляется со встроенным административным интерфейсом и может работать локально без какой-либо процедуры установки. Он написан на Python и предназначен для программирования на Python. Этот фреймворк также имеет плагины, как и другие, но у этого также есть «рецепты». Эти рецепты - весь код готового сайта, который вы можете скачать и адаптировать под свои нужды. С помощью этого пакета вы можете загрузить еще один пакет и запустить полный веб-сайт. Один из примеров - www.крошечный сайт.net, вы можете использовать код GitHub для web2py, перейти в каталог приложений и клонировать tinywebsite в этот каталог, и у вас будет рабочий веб-сайт.

TurboGears

TurboGears имеет интересную концепцию, вы можете запустить этот пакет как микро-фреймворк или добавить перед тем, как начать. Это означает, что вы можете перейти к полнофункциональному решению из микро-инфраструктуры. Минимальный режим на самом деле требует от вас только одного файла исходного кода для запуска, что позволяет вам точно выбрать, какой у вас есть контроль по мере вашего роста. В полном режиме он поддерживает множество баз данных и имеет комплексную систему шаблонов. Чтобы попробовать, просто установите его в виртуальной среде с помощью pip.

CubicWeb

Фреймворк cubicweb имеет простой интерфейс с почти всей логикой приложения в «кубах», это расширения. Когда вы начнете его использовать, вам рекомендуется выбрать «куб» и посмотреть, что вы хотите в нем изменить. CubicWeb устанавливается как обычное приложение в приложениях на основе Debian, просто добавьте их репозиторий и установите. Есть два пакета; время выполнения и пакет разработки. Этот фреймворк в значительной степени основан на объектно-ориентированном программировании на Python, поэтому, если вам это нравится, присмотритесь к нему поближе. Подключение к базам данных осуществляется через их собственный язык запросов, названный RQL, который похож на SPARQL от W3C. Если вам это нравится, у них есть 190 кубиков, которые помогут вам создавать отличные веб-сайты.

Sanic

Фреймворк Sanic был разработан с приоритетом скорости, он позволяет использовать async / await, что было добавлено в Python 3.5. Sanic поддерживает Python 3.6 и выше! Вы устанавливаете sanic с помощью команды pip. Другая цель - быть простой, вы можете запустить один Hello World в десяти строках кода. Чтобы в полной мере использовать этот фреймворк, вам потребуются uvloop и ujson, он все равно будет работать, но предполагаемая скорость не будет реализована. Sanic легко запускать непосредственно как веб-сервер, но при этом использовать его для разработки своего веб-сайта.

Джотто

Giotto имеет очень небольшую кодовую базу, но при этом сохраняет большинство функций. Вы устанавливаете Giotto с помощью команды pip. Чтобы попробовать и начать экспериментировать, вам нужно всего три команды. Проект использует Jinja2 для HTML-шаблонов, SQLAlchemy для подключения к базе данных и поддерживает Redis для обработки кеша. Чтобы установить Giotto, используйте команду pip, самая последняя версия находится на GitHub. Вы можете использовать расширение git команды pip, чтобы получить его. Чтобы создать файловую структуру для нового проекта, вы запускаете команду 'giotto create', которая создает всю файловую структуру, которую вы можете адаптировать к своим потребностям.

Пирамида

Пирамида зародилась как проект Pylons, амбициями всегда был баланс между микро-фреймворком и полным стеком. Он тоже стремится быть маленьким и легко масштабируемым. Одна оригинальная идея заключается в том, что нет системы расширений, вместо этого вы создаете и используете расширения в системе PyPi. Это позволяет гибко создавать новые надстройки.

Бутылка

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

CherryPy

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

Заключение

У вас есть много вариантов, когда вы выбираете фреймворк для своего следующего веб-проекта. Прежде чем начать, подумайте о том, что вам нужно. Однако их так много, что вам нужно ограничить время своего исследования и начать с одного.

Левая кнопка мыши не работает в Windows 10
Если вы используете выделенную мышь со своим ноутбуком или настольным компьютером, но левая кнопка мыши не работает в Windows 10/8/7 по какой-то причи...
Курсор прыгает или перемещается случайным образом при наборе текста в Windows 10
Если вы обнаружите, что ваш курсор мыши прыгает или перемещается сам по себе, автоматически, случайным образом при вводе текста на ноутбуке или компью...
Как изменить направление прокрутки мыши и сенсорной панели в Windows 10
Мышь а также Сенсорная панельs не только упрощают вычисления, но и делают их более эффективными и требуют меньше времени. Мы не можем представить себе...