Пишем web на Python3, создание проекта
newbie
Опубликован: | 2019-01-07T12:56:30.232090Z |
Отредактирован: | 2019-01-07T12:56:30.232090Z |
Разработка web-приложений на текущий момент времени является самой обширной прикладной областью использования Python. Задачи, с которыми сталкивается программист при разработке web, достаточно разнообразны, а наилучшим способом изучения web-разработки, наверно, является практика. Эта демонстрация открывает цикл статей, в которых я покажу разработку небольшого web-приложения в пошаговом режиме с детальными описаниями целей разработки и предпринятых для их достижения действий. И начну я с создания проекта.
Проект, начальную стадию разработки которого я продемонстрирую, будет представлять из себя обычное расширяемое web-приложение построенное в парадигме MVC, то есть в рамках проекта предполагается, что сервер будет отдавать на запросы клиента html-страницы в соответствии с определённой картой url-адресов. В задуманном цикле статей я опишу только начальную стадию разработки, и в том числе процесс разработки системы авторизации пользователей и первое тестовое развёртывание сервера. Впрочем, если появится явно выраженный интерес со стороны читателей, цикл статей может быть расширен и продолжен.
Для реализации проекта на начальном этапе мне потребуются следующие инструменты и принадлежности:
- компьютер с установленной и настроенной десктопной версией Debian stretch;
- установленный и настроенный Python3;
- установленный и настроенный PyCharm Community Edition;
- настроенный виртуальный сервер c PostgreSQL и Redis;
- git и активный аккаунт на gitlab.com;
- безлимитное соединение с сетью Интернет.
Итак, я приступаю...
Первое, что мне понадобится сделать, - определить имя будущего приложения и создать для него базовый каталог. Я предпочитаю работать в текстовой консоли Linux, запускаю терминал, создаю в домашнем каталоге новый каталог и вхожу в него.
mkdir -p ~/workspace/selfish cd ~/workspace/selfish
На снимке экрана выше в результате выполненных действий текст приглашения командной строки указывает на текущий каталог, в котором я нахожусь, подчёркнуто синим фломастером. Этот каталог и будет базовым для моего проекта, а проект будет носить имя selfish. Далее в этом и следующих описаниях все мои действия в командной строке предполагают, что я нахожусь в базовом каталоге проекта. Все файлы, которые я буду создавать и редактировать в процессе разработки, будут храниться в базовом каталоге проекта.
В предыдущем выпуске блога мы определились, что разработка серверной части web приложения предполагает некоторое множество повторяющихся практически в каждом проекте типовых прикладных задач, и для их решения существуют сторонние библиотеки, использование которых позволяет значительно сократить время и трудоёмкость разработки конкретного проекта. Поскольку серверная часть моего проекта будет написана на Python3 и будет использовать сторонние библиотеки Python3, мне понадобится место в проекте, куда я установлю код необходимых мне сторонних библиотек. Чтобы определить это место, создаю в базовом каталоге своего проекта виртуальное окружение с именем venv
.
python3 -m venv venv
Активирую это виртуальное окружение.
source venv/bin/activate
На снимке экрана выше следует обратить внимание, что в результате выполненных действий приглашение командной строки моего терминала изменило свой вид и получило префикс с именем активного виртуального окружения, подчёркнуто синим фломастером.
Базовые элементы виртуального окружения требуют обновления, обновляю wheel.
pip install --upgrade wheel
Затем обновляю pip.
pip install --upgrade pip
Виртуальное окружение моего проекта готово, в процессе разработки я установлю в него все требующиеся для моего проекта Python3-библиотеки сторонних разработчиков.
Следующим шагом будет инициализация Git-репозитория, создать его можно простой командой.
git init .
Точка в конце команды обязательна, она обозначает текущий каталог.
Править файлы проекта я предпочитаю в PyCharm Community Edition, и поскольку базовый каталог проекта я создал в терминале, мне необходимо правильно завести проект selfish в интегрированную среду PyCharm. Запускаю PyCharm из системного меню и создаю новый проект.
В окне создания проекта указываю базовый каталог selfish и интерпретатор имеющегося в нём виртуального окружения.
Нажимаю кнопку Create
- проект создан.
Для справки: чтобы указать интерпретатор виртуального окружения в PyCharm, нужно нажать кнопку с изображением шестерёнки справа от поля Interpreter, выбрать в выпадающем меню пункт Add Local и в модальном окне вписать адрес интерпретатора виртуального окружения.
Теперь, если пристально взглянуть на оглавление базового каталога проекта, можно увидеть, что в нём появились скрытые каталоги.
ls -a1
Так как в перспективе я собираюсь показать код selfish другим людям, мне необходимо свой проект опубликовать на сервере gitlab.com. Базовый каталог selfish кроме файлов и каталогов проекта, созданных мной, будет содержать временные файлы, а так же файлы и каталоги, которые мне не нужны на сервере gitlab.com
- например каталог виртуального окружения venv
, каталог среды PyCharm .idea
. Чтобы исключить из будущих коммитов избранные файлы и каталоги базового каталога проекта, создаю в нём файл .gitignore
и вписываю в этот файл следующий текст.
venv/ .idea/
Для проекта мне понадобится файл README, создаю его и пишу в него произвольный текст, в дальнейшем процессе разработки этот текст будет скорректирован.
Иду на сервер gitlab.com
и создаю там свой проект с именем selfish.
Полностью заполняю предложенную форму и нажимаю кнопку Create project
. В результате выполнения этого действия gitlab.com
перенаправит на страницу проекта, которая будет содержать дальнейшие инструкции. Проматываю эту страницу до раздела Existing Git repository и копирую адрес репозитория в буфер обмена.
Перехожу в терминал и добавляю своему git-репозиторию адрес только что созданного на gitlab.com
репозитория.
git remote add origin git@gitlab.com:newbie_/selfish.git
Добавляю файлы базового каталога в текущий коммит.
git add .
Делаю первый коммит.
git commit -m "Create a new project"
И запушиваю изменения на сервер.
git push -u origin master
Все действия на снимке экрана ниже.
Здесь следует заметить, что при запушивании изменений git подключился к серверу gitlab.com
по протоколу SSH, так как мой аккаунт gitlab.com настроен соответствующим образом, и командой git remote
выше задан соответствующий адрес репозитория.
Обновляю страницу своего проекта в браузере и вижу файлы своего проекта.
Таким образом, моя маленькая меркантильная цель на текущий момент полностью достигнута, я создал базовый каталог проекта, правильно завёл его в интегрированную среду PyCharm, создал git-репозиторий на жестком диске своего компьютера с дублем на сервере gitlab.com
, исключил из git-репозитория нежелательные каталоги, создал первые файлы проекта, сделал первый коммит и запушил его на сервер. Всё готово к дальнейшей планомерной работе над проектом, на чём я и сосредоточу своё и ваше внимание в ближайших выпусках этого блога. Продолжение следует...