Создание первого веб-приложения с помощью Django
Мотивация
На днях мой брат спросил меня, могу ли я создать для него веб-сайт, с помощью которого можно было бы собирать данные, вводимые пользователями, выполнять некоторые вычисления и привлекать потенциальных клиентов. Я не работал над созданием сайтов со времен Geocities и MySpace. Ну, может быть, не так давно, но я довольно сильно отстал от темы, поскольку веб-программирование - не моя повседневная работа. Моим последним побочным проектом был сайт ресторана, созданный много лет назад, который я сделал с помощью PHP, поэтому я провел небольшое интернет-исследование, чтобы узнать, что популярно именно сейчас.
Цели

Простая в использовании IDE (интегрированная среда разработки). На моей нынешней работе (системным инженером) мне пришлось разрабатывать сценарии для автоматизации создания документов. Одна из проблем конкретного набора инструментов, который мы используем, заключается в том, что в нем нет редактора исходного кода. Нет подсветки синтаксиса или завершения кода. Это очень неудобно. Я понятия не имею, работает ли то, что я пишу, пока не запущу это и не увижу ошибки / предупреждения.
Отладка выполняется с помощью операторов печати. Так работать нельзя.
Этот простой язык программирования может пригодиться мне в будущем. В наши дни освоить большинство языков программирования довольно просто. Я искал тот, который имел бы хорошую поддержку (документацию, сообщество пользователей, учебные пособия), требовал бы минимального кода для достижения необходимого результата и был легко читаем.
Бонусом, поскольку я не являюсь веб-разработчиком, работающим на полную ставку, является то, что я смог бы потенциально использовать его для других приложений.
Работает быстро, без кучи ерунды. Поскольку это побочный проект, который дополняет мою постоянную работу и обязанности в семье, я не хотел тратить многие часы на настройку. Я хотел быстро получить прототип, чтобы можно было приступить к реальной работе.
Победители…
Веб-фреймворк Django, использующий Python. Оказывается, этот инструмент автоматизации тестирования, который мы планировали использовать на работе, использует Python, так что это сыграло большую роль в том, что я обратил на него внимание, как на язык программирования общего назначения.
У меня был некоторый опыт работы с Java, но Spring оказался слишком тяжелым для этого проекта. Решения на основе Javascript, такие как стек MEAN, выглядели мощно, но я стараюсь не иметь с ними дел, если только это не (внешний интерфейс).
PyCharm. Выбрав Python, выбрать IDE было довольно просто. У PyCharm много фанатов, и я обнаружил, что к нему легко привыкнуть по сравнению с плагином PyDev в Eclipse или редактором IDLE, который поставляется вместе с Python.
Давайте создадим веб-приложение!
Внимание: все это я проделал на своем MacBook. Шаги будут отличаться, если вы используете Windows. Мой стационарный компьютер сейчас пылится и используется только эпизодически (для игр).
Установите Python
Загрузите Python с официального сайта. После установки убедитесь в том, что все готово. Откройте окно терминала и введите в него приведенные ниже команды.
$ python --version
Python 3.7.6
Создайте виртуальную среду
Предыдущее действие изолирует среду разработки и сохранит порядок на случай, если вы работаете над другими проектами, которые могут иметь другие зависимости.
Сначала создайте папку для проекта.
$ mkdir mywebapp
$ cd mywebapp
Затем создайте и активируйте виртуальную среду. Вы узнаете, что это работает, когда увидите «(myvenv)» в командной строке терминала.
$ python -m venv myvenv
$ source myvenv/bin/activate
(myvenv) ~$
Установите Django
Введите приведенную ниже строку, и веб-фреймворк Django будет установлен. Серьезно, это так просто.
(myvenv) ~ $ python -m pip install Django
Создайте проект Django
Создадим наш первый проект Django.
(myvenv) ~$ python -m pip install Django
Это действие создает структуру каталогов, а также файлы, необходимые для начала работы. Это выглядит примерно так.
mywebapp
├── manage.py
├── mysite
│ ├── __init__.py
| ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── myvenv
└── ...
Настройте PyCharm для комфортной работы
Для работы с этими файлами можно использовать любой текстовый редактор, но мы не дикари. Пришло время установить PyCharm.
Перейдите на официальную страницу загрузки PyCharm и скачайте версию Community Edition. Это бесплатно, и мне нравится, что это бесплатно. Когда PyCharm будет установлен, откройте его, и вы увидите что-то вроде этого.

Откройте созданный вами проект Django
Нажмите кнопку «Открыть» и найдите каталог веб-приложения, который вы создали ранее.

Нажмите кнопку «Открыть», чтобы выбрать его в качестве рабочего каталога, после чего вы увидите структуру каталогов проекта.

Подготовьте сервер к работе
Проект уже должен быть направлен в интерпретатор Python в виртуальной среде, но на тот случай, если это еще не сделано, перейдите в PyCharm → Preferences, и убедитесь в том, что у вас заданы настройки, указанные ниже.

Следующим шагом является настройка конфигурации запуска / отладки. Для этого перейдите в Run → Edit Configurations.

Нажмите «+», чтобы создать новую конфигурацию Python, и установите Script Path и Parameters, чтобы он запускал сервер.

Мы готовы к запуску
Все настроено, теперь нажмите кнопку «Play», чтобы запустить приложение. В консоли вы увидите сообщение о том, что сервер разработки запущен.

Если вы перейдете по ссылке, то увидите, как взлетает ракета. Наслаждайтесь тем, чего вы достигли.

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