Пишем web на Python3, создание проекта

newbie

Опубликован:  2019-01-07T12:56:30.232090Z
Отредактирован:  2019-01-08T11:57:15.753848Z

Разработка web-приложений на текущий момент времени является самой обширной прикладной областью использования Python. Задачи, с которыми сталкивается программист при разработке web, достаточно разнообразны, а наилучшим способом изучения web-разработки, наверно, является практика. Эта демонстрация открывает цикл статей, в которых я покажу разработку небольшого web-приложения в пошаговом режиме с детальными описаниями целей разработки и предпринятых для их достижения действий. И начну я с создания проекта.

Проект, начальную стадию разработки которого я продемонстрирую, будет представлять из себя обычное расширяемое web-приложение построенное в парадигме MVC, то есть в рамках проекта предполагается, что сервер будет отдавать на запросы клиента html-страницы в соответствии с определённой картой url-адресов. В задуманном цикле статей я опишу только начальную стадию разработки, и в том числе процесс разработки системы авторизации пользователей и первое тестовое развёртывание сервера. Впрочем, если появится явно выраженный интерес со стороны читателей, цикл статей может быть расширен и продолжен.

Для реализации проекта на начальном этапе мне потребуются следующие инструменты и принадлежности:

Итак, я приступаю...

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

mkdir -p ~/workspace/selfish
cd ~/workspace/selfish

UGhHFGZfe0.png

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

В предыдущем выпуске блога мы определились, что разработка серверной части web приложения предполагает некоторое множество повторяющихся практически в каждом проекте типовых прикладных задач, и для их решения существуют сторонние библиотеки, использование которых позволяет значительно сократить время и трудоёмкость разработки конкретного проекта. Поскольку серверная часть моего проекта будет написана на Python3 и будет использовать сторонние библиотеки Python3, мне понадобится место в проекте, куда я установлю код необходимых мне сторонних библиотек. Чтобы определить это место, создаю в базовом каталоге своего проекта виртуальное окружение с именем venv.

python3 -m venv venv

Активирую это виртуальное окружение.

source venv/bin/activate

75IV7YFK8B.png

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

Базовые элементы виртуального окружения требуют обновления, обновляю wheel.

pip install --upgrade wheel

Затем обновляю pip.

pip install --upgrade pip

VcfeazRXMG.png

Виртуальное окружение моего проекта готово, в процессе разработки я установлю в него все требующиеся для моего проекта Python3-библиотеки сторонних разработчиков.

Следующим шагом будет инициализация Git-репозитория, создать его можно простой командой.

git init .

hFWeJU943Y.png

Точка в конце команды обязательна, она обозначает текущий каталог.

Править файлы проекта я предпочитаю в PyCharm Community Edition, и поскольку базовый каталог проекта я создал в терминале, мне необходимо правильно завести проект selfish в интегрированную среду PyCharm. Запускаю PyCharm из системного меню и создаю новый проект.

4z2AWVqXtO.png

В окне создания проекта указываю базовый каталог selfish и интерпретатор имеющегося в нём виртуального окружения.

iYXrsQrXJ1.png

Нажимаю кнопку Create - проект создан.

BscMXU7PA0.png

Для справки: чтобы указать интерпретатор виртуального окружения в PyCharm, нужно нажать кнопку с изображением шестерёнки справа от поля Interpreter, выбрать в выпадающем меню пункт Add Local и в модальном окне вписать адрес интерпретатора виртуального окружения.

17j7Yy0Zmf.png

ACSH9Qbzek.png

Теперь, если пристально взглянуть на оглавление базового каталога проекта, можно увидеть, что в нём появились скрытые каталоги.

ls -a1

CIGZNtSukb.png

Так как в перспективе я собираюсь показать код selfish другим людям, мне необходимо свой проект опубликовать на сервере gitlab.com. Базовый каталог selfish кроме файлов и каталогов проекта, созданных мной, будет содержать временные файлы, а так же файлы и каталоги, которые мне не нужны на сервере gitlab.com - например каталог виртуального окружения venv, каталог среды PyCharm .idea. Чтобы исключить из будущих коммитов избранные файлы и каталоги базового каталога проекта, создаю в нём файл .gitignore и вписываю в этот файл следующий текст.

venv/
.idea/

nj2sWZWmNc.png

Для проекта мне понадобится файл README, создаю его и пишу в него произвольный текст, в дальнейшем процессе разработки этот текст будет скорректирован.

K3BAErAQY0.png

Иду на сервер gitlab.com и создаю там свой проект с именем selfish.

2J0jTqFJ9X.png

Полностью заполняю предложенную форму и нажимаю кнопку Create project. В результате выполнения этого действия gitlab.com перенаправит на страницу проекта, которая будет содержать дальнейшие инструкции. Проматываю эту страницу до раздела Existing Git repository и копирую адрес репозитория в буфер обмена.

tsLDbkqXiy.png

Перехожу в терминал и добавляю своему 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

Все действия на снимке экрана ниже.

4hm3VWNVfH.png

Здесь следует заметить, что при запушивании изменений git подключился к серверу gitlab.com по протоколу SSH, так как мой аккаунт gitlab.com настроен соответствующим образом, и командой git remote выше задан соответствующий адрес репозитория.

Обновляю страницу своего проекта в браузере и вижу файлы своего проекта.

AdVAuE9fSB.png

Таким образом, моя маленькая меркантильная цель на текущий момент полностью достигнута, я создал базовый каталог проекта, правильно завёл его в интегрированную среду PyCharm, создал git-репозиторий на жестком диске своего компьютера с дублем на сервере gitlab.com, исключил из git-репозитория нежелательные каталоги, создал первые файлы проекта, сделал первый коммит и запушил его на сервер. Всё готово к дальнейшей планомерной работе над проектом, на чём я и сосредоточу своё и ваше внимание в ближайших выпусках этого блога. Продолжение следует...

Комментарии: