Как развернуть веб приложение на python
Хотя мне нравится заниматься наукой о данных и программировать проекты для личного удовольствия, связанного с созданием чего-то собственного, есть также определенная радость, когда я делюсь своим проектом онлайн с кем-либо в мире. К счастью, благодаря Amazon Web Services (AWS) за несколько минут мы можем развернуть веб-приложение Python для всего мира.бесплатно.
В этой статье мы увидим, как развернуть веб-приложение глубокого обучения в AWS на бесплатном экземпляре EC2. Эта статья будет работать со встроенным приложениемРазвертывание модели глубокого обучения Keras в качестве веб-приложения на Pythonиспользуя модель, разработанную вРекуррентные нейронные сети на примере в Python, Ничего из этого не требуется, просто знайте, что наша заявка генерирует новые патентные аннотации с RNN. Весь код для проекта можнонайдено на GitHub,
Amazon Web Services EC2
Amazon Web Servicesэто общий термин для ряда предложений Amazon по облачным вычислениям. Мы будем использоватьAmazon Elastic Compute Cloud (EC2), сервис, где мы арендуем виртуальные машины в облаке для запуска приложений. AWS EC2 предлагаетсвободный уровеньтак что мы можем развернуть, не тратя ни цента.
Нажмите «Выбрать», затем на следующей странице выберите экземпляр t2.micro, отвечающий требованиям бесплатного уровня (экземпляр - это оборудование для нашего AMI). В нем всего 1 ЦП и 1 ГБ ОЗУ, но на самом деле этого будет достаточно для запуска нашего предварительно обученного приложения для периодической нейронной сети! Если вы ожидаете большего трафика или запускаете приложение, интенсивно использующее процессор, вам, вероятно, придется раскошелиться.
Группы безопасности
Выберите необходимый тип экземпляра и перейдите на вкладку 6. Настройте группу безопасности в верхней части страницы.Группы безопасностифильтровать трафик в наш экземпляр и из него - в основном, кто имеет доступ к нашему виртуальному компьютеру
Затем нажмите Обзор и Запустить, а затем Запустить. Это поднимает варианты использованияпара ключей, Это нужно для доступа к серверу через ssh , поэтому обязательно создайте новую пару ключей и сохраните закрытый ключ там, где вы его помните. Если вы потеряете это, вы не сможете снова получить доступ к своему экземпляру!
Наконец, нажмите Launch Instances, и Amazon запустит вашу собственную виртуальную машину, которая физически расположена . где-то, Подождите несколько минут, пока экземпляр загрузится, прежде чем переходить к следующему шагу: подключение к вашему экземпляру.
Когда экземпляр запущен и работает, выберите его на EC2Панель инструментов экземпляра(Службы> EC2> Запуск экземпляров) и нажмите Подключиться. Это даст нам точные команды для подключения к экземпляру.
Скопируйте пример кода и вставьте его в Bash или командную строку, запущенную в папке с вашим закрытым ключом (вы генерируете его при запуске вашего экземпляра). Предполагая, что все идет хорошо, вы войдете в свой экземпляр и увидите знакомую командную строку терминала.
Требования к установке
Этот AMI поставляется сPython 3.6, поэтому нам просто нужно клонировать репозиторий и установить зависимости приложения. Сначала получите репозиторий:
Затем установите pip , перейдите в хранилище и установите требования.
Запуск и доступ к веб-приложению
Запуск приложения прост (вам может понадобиться sudo для второй команды):
(Если вы хотите понять, что происходит в веб-приложении, посмотрите напредыдущая статьядля процесса разработки).
Вы должны увидеть следующий вывод в терминале:
Хотя это выглядит так, приложение работает на localhost: 80 /,виртуальная машина, Чтобы получить доступ к веб-приложению, нам нужно использоватьОбщедоступный DNS IPv4который можно найти на панели управления запущенного экземпляра.
Скопируйте и вставьте адрес в свой браузер, и вы увидите приложение!
Не стесняйтесь играть с приложением периодической нейронной сети Он создает новые патентные рефераты с помощью периодической нейронной сети, обученной тысячам рефератов с ключевым словом «нейронная сеть». Вы можете ввести random для случайной стартовой последовательности или вашей собственной последовательности. (Чтобы увидеть развитие, проверьтеЭта статьяилиэтот блокнот).
Ваше приложение теперь может быть доступно любому в мире через IPv4. Если вы хотите, чтобы приложение продолжало работать даже после выхода из экземпляра, запустите его вСеанс экрана, (Экран удобная программаэто позволяет вам запускать сеансы терминала из одного окна терминала, используя виртуальные консоли.)
Следующие шаги
Мы действительно живем в невероятные времена: с Flask мы можем за несколько минут разработать веб-приложение на Python, а затем бесплатно развернуть его в мире с помощью AWS. Общий процесс, которым мы следовали, заключался в следующем: разработка веб-приложения (предпочтительно на Python), аренда стандартного оборудования у поставщика облачных услуг и развертывание веб-приложения в мире.
Если бы вы могли следовать всем учебникам изреализация рекуррентной нейронной сетивразработка локального веб-приложениядо развертывания на AWS, тогда вы завершили впечатляющий проект! Весь процесс от пустого файла до работающего веб-приложения может быть пугающим, но, как и большинство технологических проблем, если его разбить, каждый шаг не будет слишком сложным, и есть много инструментов с открытым исходным кодом, которые облегчают процесс. Если вы являетесь специалистом по данным, которому надоело проводить самостоятельный анализ в Jupyter Notebooks, возьмите на себя инициативу создать проект, который вы можете развернуть как приложение. Хорошо разбираться в других дисциплинах, а создание и развертывание веб-приложения - это прекрасная возможность освоить некоторые новые навыки.
Создание веб-проекта в Python разработчикам, привыкшим использовать другой язык программирования, может показаться немного запутанным процессом.
Данная статья описывает компоновку приложения Pyramid WSGI, создание списка его зависимостей, а также его развертывание (публикацию).
Примечание: примеры, приведенные в данной статье, тесно связаны со статьей, описывающей начало работы с Pyramid. Чтобы получить базовые инструкции по разработке веб-приложений с помощью Pyramid, читайте данную статью.
Вкратце о Pyramid
Этот хорошо продуманный и обслуживаемый проект достаточно популярен. В целом, Pyramid предоставляет несколько разных способов (веб-серверов и подходов) развертывания приложений.
Развертывание веб-приложений
На всех серверах на основе Python WSGI развертывание веб-приложений состоит из подготовки модуля WSGI, содержащего ссылку на объект приложения, который затем используется в качестве точки входа на веб-сервер для передачи запросов.
Nginx как обратный прокси-сервер
Сервер веб-приложений Python WSGI
Они работают путем принятия модуля Python, который, как описано выше, содержит веб-приложение и обслуживает его в сети.
Хотя некоторые из них очень мощны, все же, Nginx рекомендуется использовать как основу по указанным выше причинам (например, из-за более высокой производительности). Аналогично, серверы разработки, которые, как правило, поставляются с фреймворками веб-приложений, использовать для разработки не рекомендуется в связи с их недостаточной функциональностью (конечно, есть исключения).
Популярные веб-серверы Python WSGI:
Развертывание веб-приложения WSGI на основе Pyramid
Благодаря связующему программному обеспечению (или промежуточному, англ. middleware) для WSGI Python, существует множество вариантов серверов веб-приложений.
Модернизация системы
Чтобы сервер развертывания работал стабильно, очень важно использовать последние версии программ.
Чтобы обеспечить использование последних доступных версий приложений по умолчанию, необходимо обновить систему.
Для систем на основе Debian (т.е, Ubuntu, Debian) запустите:
aptitude update
aptitude -y upgrade
Для систем на основе RHEL (т.е., CentOS), используйте:
Установка Python, pip и virtualenv
Примечание для пользователей CentOS / RHEL:
По умолчанию CentOS / RHEL не содержит многих необходимых приложений. Инструментарий, содержащийся на сервере по умолчанию, предназначен не для работы пользователя, а для поддержки системных инструментов (таких как YUM).
Чтобы подготовить систему CentOS, нужно установить (скомпилировать из исходного кода) Python, а затем использовать его интерпретатор для установки инструментов pip и virtualenv.
На Ubuntu и Debian последняя версия интерпретатора Python (которую можно использовать) поставляется по умолчанию. Все, что остается установить:
python-dev: это общесистемный пакет, содержащий расширенные средства разработки для построения модулей Python.
Для установки python-dev используйте следующую команду:
aptitude install python-dev
pip: это менеджер пакетов, который помогает установить необходимые пакеты приложений.
Для установки pip запустите следующее:
curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | python -
curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python -
export PATH="/usr/local/bin:$PATH"
Для этого могут потребоваться привилегии sudo.
Чтобы установить virtualenv с помощью pip, используйте:
sudo pip install virtualenv
Примечание: данный раздел сфокусирован на создании простого приложения, состоящего из одной страницы, онлайн.
Текущий рабочий каталог находится в
Текущее приложение Pyramid (application.py) выглядит так:
from wsgiref.simple_server import make_server
from pyramid.config import Configurator
from pyramid.response import Response
def hello_world(request):
return Response('<h1>Hello world!</h1>')
if __name__ == '__main__':
config = Configurator()
config.add_view(hello_world)
app = config.make_wsgi_app()
server = make_server('0.0.0.0', 8080, app)
server.serve_forever()
Чтобы превратить этот образец в модуль, содержащий WSGI, нужно выполнить следующие изменения:
Внеся все поправки, нажмите CTRL+X, чтобы сохранить и выйти, а затем Y для подтверждения.
Теперь данный файл можно использовать как модуль приложения с любым веб-сервером Python WSGI.
Многоуровневый объект приложения
Примечание: данный файл должен находиться в root-папке приложения, вместе с файлами requirements.txt или .ini. Это работает путем добавления приложения как модуля.
Чтобы создать файл wsgi.py с помощью редактора nano, запустите:
Скопируйте и вставьте приведенные ниже конфигурации:
Обработка зависимостей приложения с помощью PIP
Поскольку разработка приложений, как правило, начинается на локальной машине, необходимо убедиться, что все зависимости приложения установлены в виртуальной среде.
Создание списка зависимостей приложения
Примечание: данный раздел содержит команды, которые необходимо выполнить на локальной машине разработки или же там, где нужно создать список зависимостей приложения. Этот файл должен быть помещен в каталог приложения и загружен на сервер.
Чтобы создать список установленных пакетов с помощью pip:
pip freeze > requirements.txt
Данная команда создаст файл по имени requirements.txt, содержащий список всех установленных ранее пакетов. Если запустить эту команду в virtualenv, то список будет содержать только пакеты, установленные внутри среды. В противном случае, будут перечислены все пакеты, установленные глобально.
Скачивание зависимостей по списку
Примечание: Этот раздел содержит команды, которые должны быть выполнены на машине/в среде разработки.
Чтобы установить зависимости с помощью pip:
pip install -r requirements.txt
Данная команда скачает и установит все пакеты из списка. При работе с активированной средой файлы будут скачаны непосредственно в эту среду. В противном случае они будут установлены глобально (не рекомендуется).
Установка сервера веб-приложения Python WSGI
Установив приложение Pyramid, можно перейти непосредственно к процессу развертывания и установки выбранного сервера веб-приложений.
Данная статья сфокусирована на использовании простого и в то же время мощного сервера CherryPy.
Обслуживание приложений Pyramid с помощью веб-сервера CherryPy
Поскольку проект имеет отдельную виртуальную среду (
/pyramid_sites/env), CherryPy можно установить внутри этой среды.
Чтобы создать файл server.py, запустите:
Сохраните изменения и выйдите, нажав CTRL+X и Y для подтверждения.
Запуск и обслуживание сервера приложений
Чтобы начать обслуживать приложение, запустите server.py с помощью Python.
Для этого используйте:
Это запустит сервер в приоритетном режиме. Чтобы отключить его, нажмите клавиши CTRL + C.
Чтобы запустить сервер в фоновом режиме, выполните следующую команду:
Запуская приложение в фоновом режиме, используйте менеджер процессов (например, htop), чтобы прервать его.
Настройка Nginx
Установка Nginx
Примечание для пользователей CentOS / RHEL:
Запустите следующую команду, чтобы установить Nginx с помощью aptitude:
sudo aptitude install nginx
Чтобы запустить Nginx:
sudo service nginx start
Чтобы отключить Nginx:
sudo service nginx stop
Чтобы перезагрузить Nginx:
Настройка Nginx
Выбрав и установив веб-сервер для запуска приложения, нужно подготовить Nginx к работе с внутренним сервером (запускающим приложение WSGI).
Для этого нужно отредактировать конфигурационный файл nginx.conf.
Чтобы открыть и отредактировать данный файл с помощью текстового редактора nano, запустите:
sudo nano /etc/nginx/nginx.conf
Можно заменить содержимое файла приведенными ниже конфигурациями, чтобы Nginx работал как инвертированный прокси-сервер, взаимодействуя с приложением.
Скопируйте и вставьте приведенный ниже пример конфигураций.
Отредактировав конфигурации, нажмите CTRL+X, чтобы выйти и сохранить изменения, и Y для подтверждения. Чтобы активировать внесенные изменения, нужно перезапустить Nginx.
Для этого введите:
sudo service nginx stop
sudo service nginx start
Готово! Подключив сервер приложения к Nginx, можете просмотреть его; для этого введите IP-адрес сервера в браузер.
Появилось свободное время, и возникло желание сделать небольшую веб-приложение. Идея есть (получать данные с метеодатчика, хранить в БД и потом делать что-то интересное), свободный сервер на centos тоже. Туториалов по настройке вроде бы тоже… Но на момент написания ни одного полностью рабочего не нашлось. Если вы тоже хотите развернуть приложение на сервере CentOS 7.4 используя связку python3.*, uwsgi и nginx, добро пожаловать под кат.
Итак, что уже должно быть и что не будет освещаться в этой статье:
- Физический или виртуальный сервер с ОС CentOS 7.4 (для других ОС и версий работоспособность не гарантируется).
- Доступ к серверу с правами суперпользователя *если сервер виртуальный, то предполагается, что есть возможность и умение подключиться к нему по SSH).
Здесь потребуется ввести и подтвердить пароль пользователя
Добавляем пользователя в группу локальных администраторов
Переключаемся на свежесозданного пользователя.
Теперь готовим окружение:
Хотелось бы обратить внимание на предпоследнюю строчку — «Development Tools» и «Development Libraries» необходимы для корректного запуска виртуальной среды. Флаг -у используем чтобы команда отрабатывала без запроса подтверждения.
Теперь можно приступать к созданию рабочей директории:
Теперь подготовим точку входа в веб-приложение:
vi /opt/myproject/wsgi.py (здесь и далее я буду использовать редактор vi, однако это дело вкуса)
Это код после запуска позволит нам убедиться, что все предпринятые ранее шаги прошли успешно. Для тестирования запустим сервис:
При физическом ljcnegt или rdp-подключении результат можно проверить в браузере по адресу 0.0.0.0:8080. При SSH-подключении откроем новую сессию и протестируем с помощью curl:
Флаг -v позволит увидеть полный вывод.
После завершения тестирования стоит завершить работу сервиса нажав CTRL+C (иначе придётся искать процесс и убивать его с помощью kill. Тоже выход, но определённо менее удобный).
Теперь можно сделать основное веб-приложение:
Процесс тестирования довольно похож на предыдущий — запускаем приложение с помощью команды python3 /opt/myproject/myproject.py и проверяем. результат должен быть одинаков.
Теперь отредактируем точку входа так, чтобы при её вызове запускалось наше приложение:
Теперь самое сложное и интересное. Пора делать из этого приложения сервис, который будет работать автоматически и в фоновом режиме.
Для начала подготовим ini-файл для uwsgi:
Здесь хочется обратить внимание на следующие строчки:
- socket = /tmp/uwsgi/myproject.sock — для ускорения работы сервиса стоит использовать unix-socket, а для того, чтобы к нему смог подключиться nginx — создать его во временной папке /tmp/uwsgi
- chown-socket = nginx:nginx передаст права на использование сокета пользователю nginx
- chmod-socket = 666 — служит для тех же целей, что и предыдущая. В разных руководствах и советах фигурируют разные значения параметра — 664, 665, 777 — но опытным путём установлено, что 666 — минимально рабочий.
Все интересные строчки находятся в блоке Service:
-
ExecStartPre — это команда, которую менеджер системы выполнит перед запуском сервиса.
Последняя команда сделает его автозапускающимся после перезагрузки сервера.
И последний рывок — настроим сервер nginx и сделаем наше веб-приложение доступным для внешней сети. Лог его работы всегда можно посмотреть с помощью команды
Найдём блок [Service] и в конце добавим PrivateTmp=false.
После этого перезагрузим демонов командой systemctl daemon-reload
Теперь приступим непосредственно к конфигурации сервера:
Теперь осталось включить сервер и отредактировать правила на фаерволе:
Теперь при обращении к серверу по его доменному имени или IP-адресу мы будем получать ответ от нашего приложения на Flask.
За последние несколько лет популярность Python резко возросла, и он даже превзошел Java. С развитием машинного обучения, анализа данных и веб-приложений многие разработчики стали чаще использовать данный язык программирования, так как он обладает множеством полезных библиотек, простым синтаксисом и мобильностью. Без сомнения, сейчас наиболее подходящее время, чтобы научиться работать с Python.
Итак, в данной статье мы ответим на следующие вопросы:
- Веб-разработка — что это?
- Почему Python подходит для веб-разработки?
- Веб-фреймворки Python
- Библиотеки Python
- Дорожная карта для веб-разработки с использованием Python
- Как создать первое приложение в Python
- Заключение
Скорее всего, новички зададутся вопросом , что же такое веб-разработка. Однако сложно определить точный термин, так как веб-разработка в широком смысле подразумевает создание и обслуживание сайтов. Как правило, веб-разработка включает все аспекты, которые связаны с пользователем: интерфейс, серверная часть и бизнес-логика.
Преимущества разработки веб-приложений в Python:
- Простое обучение: Python — самый популярный язык программирования для новичков. Он опирается на общие выражения и пробелы, что позволяет писать значительно меньше кода по сравнению с Java или C++. К тому же, он обладает более низким барьером входа, так как напоминает повседневный язык. Поэтому вы с легкостью сможете понять код. Однако это не значит, что изучение Python будет легким в начале. Программирование — сложный процесс, но он научит вас быстро схватывать идеи.
- Обширная экосистема и библиотеки: Python предлагает большой спектр библиотечных инструментов и пакетов услуг. Таким образом, вы получите доступ к предварительно написанному коду с ускоренным временем на разработку приложений. Например, вы сможете воспользоваться Numpy и Pandas для математического анализа, Pygal для построения графиков и SLQALchemy для вложенных запросов. Python также обладает отличными веб-фреймворками — например, Django и Flask. Ниже мы расскажем о них более подробно.
- Быстрое прототипирование: по сравнению с другими языками программирования Python тратит меньше времени, поэтому вы сможете реализовать свои идеи намного быстрее. Более того, вы получите обратную связь и легко выполните итерации. Благодаря небольшому времени на разработку Python особенно подходит для стартапов. Поэтому они могут выйти на рынок значительно быстрее и получить конкурентное преимущество.
- Широкое распространение: Python — один из самых популярных языков программирования, поэтому он часто обновляется новыми функциями и библиотеками. Также Python обладает отличной документацией и поддержкой сообщества, что поможет начинающим разработчикам реализовать свои проекты.
Другие языки программирования для веб-разработки:
- Javascript широко известен в веб-разработке благодаря своей пригодности для бэкенда и фронтенда. Такие фреймворки JS, как React.js и Vue.j, подходят для разработки фронтенда, в то время как Express.js чаще используется для бэкенда.
- Java также достаточно популярный язык, который часто используют многие компании. Особой популярностью пользуется Java Spring, так как он обладает коллекцией библиотек и конфигураций. Благодаря такому набору возможностей вы сможете создавать серверные среды и развертывать приложения.
- Ruby часто применяется для серверных технологий, но по сравнению с Javascript и Python считается более устарелым инструментом. Язык предполагает, что во время написания кода вам придется соблюдать определенную структуру.
- PHP также является хорошо известным языком в веб-разработке, хотя за последние несколько лет его популярность снизилась. Он предлагает множество фреймворков и интеграций, но многие разработчики считают, что его дизайн недостаточно проработан, что может привести к написанию плохого кода.
Что такое фреймворки и почему они так важны? Веб-фреймворк — это набор пакетов и модулей, состоящих из предварительно написанного стандартизированного кода. Таким образом, код обеспечивает разработку веб-приложений, делая этот процесс быстрее и проще, а программы более надежными и масштабируемыми. Другими словами, фреймворки уже обладают встроенными компонентами, которые упрощают вашу работу над проектом.
Какие веб-фреймворки Python наиболее популярны?
Django — это быстрый, безопасный и масштабируемый веб-фреймворк Python, который предлагает высокий уровень и открытый исходный код. Django обладает мощной поддержкой сообщества и подробной документацией.
Фреймворк включает комплексный пакет, в котором вы получите панель управления, интерфейс базы данных и структуру каталога после создания приложения. Кроме того, он включает большое количество функций, поэтому вам не придется добавлять отдельные библиотеки. Аутентификация пользователей, механизм шаблонов, маршрутизация, миграция схемы базы данных и т.д. — все это примеры возможностей, которые предлагает фреймворк.
Django отличается гибкостью. Он позволяет работать как с минимально жизнеспособным продуктами, так и с более развитыми компаниями. Instagram, Dropbox, Pinterest и Spotify — все эти компании также используют Django.
Flask считается микрофреймворком, который представляет минималистичный веб-фреймворк. Но по сравнению с Django он не обладает такими функциями, как механизм веб-шаблонов, авторизация учетной записи и аутентификация.
Flask отличается простотой в использовании. Поэтому вы можете добавить расширения и библиотеки, которые вам нужны при написании кода.
Другие известные фреймворки
Возможно, вы зададите вопрос — какой же фреймворк стоит выбрать? Но мы не сможем дать вам однозначный ответ. Для начала, оцените свой уровень веб-разработчика. Если вы обладаете большим опытом, то стоит отдать предпочтение продвинутым программам. Однако, если вы начинающий разработчик, то попробуйте использовать фреймворк со встроенной технической поддержкой, например Django.
Кроме того, спросите себя, хотите ли вы создать «основополагающую» кодовую базу или же сформировать её основы? Если вы предпочитаете первый вариант, то стоит использовать Django, а если второй, то Flask. Но стоит отметить, что оба инструмента обладают одинаковой функциональностью.
Ниже представлено несколько полезных библиотек Python для веб-разработки:
Шаг 1:HTML + CSS
Вы можете также изучить такие CSS-фреймворки, как Materialize или Bootstrap. Они значительно ускорят вашу работу.
Шаг 2: Javascript
Следующий шаг, который необходимо сделать — это изучить Vanilla Javascript. Вам стоит ознакомиться с такими базовыми концепциями, как типы данных, переменные, общие соглашения, работа со строками, арифметика, управляющие операторы, циклы и т.д. Знание этих основ упростит применение Javascript к коду на стороне клиента.
Шаг 3: DOM & jQuery
Затем вам стоит научиться управлять еще одной библиотекой Javascript — jQuery. С ее помощью процесс манипулирования DOM станет гораздо проще. Теперь у вас есть представление о том, как создать динамические страницы.
Фронтенд-фреймворк
Для создания функционального веб-приложения с полным стеком рекомендуется изучать фронтенд-фреймворк. Такой навык часто является обязательным требованием при найме front-end или full-stack разработчика.
Шаг 4: Python
Теперь перейдем к бэкенду. Прежде чем приступить к манипуляциям с DOM, необходимо знать основы Python и Javascript. Эти базовые знания подготовят вас к Django. Изучение Python не вызывает трудностей, так как многие концепции напоминают Javascript.
Шаг 5: База данных Django +
С помощью Django вы сможете настроить бэкенд-среду и сформировать бизнес-логику. Вам также стоит узнать о том, как создать запросы, изучить базу данных SQLite и CRUD- функцию. В таком случае, вы сможете разработать приложение с полным стеком.
Запустите приложение Flask «hello world» в качестве введения в веб-фреймворки Python
Установка Flask
Первое, что необходимо сделать — это установить Flask. В зависимости от вашей версии Python, вам придется использовать pip или pip3.
pip install flask
Приложение Flask
Затем, создайте файл под названием hello.py со следующим кодом:
- Строка 1 импортирует Flask
- Строка 2 создает экземпляр Flask с переменной app , используя атрибутом __name__
- Строка 4 задает направление / для страницы индекса или страницы по умолчанию. Когда пользователь переходит на locahost:5000/ , вы сможете настроить определенный код для запуска
- Строка 5 создает функцию hello
- Строка 6 возвращает пользователю строку Hello World!
- Строка 8 тестирует пригодность сценария
- Строка 9 запускает приложение из переменной app , чтобы пользователь смог посетить веб-приложение через localhost
Теперь вы имеете представление о том, как использовать Python для веб-разработки. Однако обучение на этом не заканчивается. Поэтому продолжайте искать надежные ресурсы, онлайн-курсы и практические проекты, чтобы улучшить свои навыки.
Читайте также: