Верстаем статический web-сайт с помощью Python3x

Jazz

Опубликован:  2024-01-24T07:03:07.349634Z
Отредактирован:  2024-01-24T07:03:07.349634Z
Статус:  публичный
28
0
0

Как сделать собственный сайт в сети Интернет? Если вы задумывались когда-нибудь над этим вопросом и пытались самостоятельно найти ответ на него, вы безусловно сталкивались с очень богатой выдачей по этому запросу всех известных поисковых систем. Запрос популярный... И, увы, ни один из найденных материалов не может дать на этот вопрос однозначного ответа с подробной пошаговой инструкцией, ибо такая инструкция по объёму будет как "война и мир". Сегодня строить сайты можно на разных платформах, разными инструментами и по различным методологиям, вариантов почти бесконечное множество. В этом цикле статей я поделюсь собственным опытом, одним из возможных вариантов. Начну с самого простого, будем верстать обычный совсем маленький статический сайт, состоящий из нескольких html-страниц. И, поскольку исследуемая область прикладных задач достаточно обширна, я разделю ответ на этот вопрос на несколько выпусков.

Определяемся с терминами

Понятно, что, чтобы получить свой собственный сайт, нужно что-то разработать. Что именно?

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

Web-сайт - это совокупность доменного имени и сервера сети, который обслуживает это доменное имя и отвечает клиентам на их запросы, отправленные на URL-адреса сайта. Сайт разворачивает на сервер администратор сервера, и он вполне может не знать всех тонкостей web-разработки.

Web-приложение - это программа, которая работает на сервере, который обслуживает домен сайта. Именно web-приложение определяет количество URL-адресов сайта. Одно и то же web-приложение при желании не сложно развернуть на почти ничем не ограниченное множество сайтов. Web-приложение можно запустить не только на сервере, в процессе разработки оно обычно запускается web-мастером в отладочном режиме на обычном десктопе.

Соответственно, первое, о чём нужно позаботиться при построении сайта, - это web-приложение. Разработка web-приложения является начальной стадией сайтостроения.

Статический сайт

Современные сайты в сети Интернет делятся на два основных типа:

  1. Статические сайты;

  2. Динамические сайты.

Web-приложение статического сайта обычно состоит из набора html-файлов, таблиц стилей и сценариев JavaScript и, как правило, не требует backend-программирования, а изменить содержимое статического сайта можно только отредактировав перечисленные выше его составляющие (html, css, javascript) на сервере. Web-приложение динамического сайта намного сложней, такая программа умеет идентифицировать и дифференцировать пользователей сайта и даёт возможность редактировать содержимое сайта (управлять контентом) в обычном браузере, не беспокоя администратора сервера.

В заголовке этой статьи числится язык программирования Python3x - типичный инструмент для бэкэнда. Но речь о статическом сайте, а он не требует backend-программирования. При чём тут Python..?

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

  • исключить повторение кода;

  • упорядочить хранение файлов по типу кода, чтобы сайт удобно было редактировать и поддерживать;

  • обеспечить перспективное развитие сайта;

  • предусмотреть максимально быстрое и простое развёртывание на сервер сети.

В конце концов у web-мастера через некоторое время эксплуатации сайта вполне может появиться желание сделать его динамическим, такое тоже бывает.

Использование Python3x уже на начальной стадии разработки сайта поможет решить почти все обозначенные выше проблемы.

Решение задачи

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

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

  1. Конфигурация web-приложения;

  2. Конфигурация Git и размещение на Git-сервер;

  3. Макет и библиотеки для фронтэнда;

  4. Вёрстка базового шаблона сайта;

  5. Обработка ошибок;

  6. JavaScript и вёрстка страниц;

  7. Подготовка сервера;

  8. Установка приложения на сервер, развёртывание сайта в сети Интернет.

Таков план. Продолжение следует, всем заинтересованным рекомендую следить за обновлениями, каждый пункт в предложенном плане очень скоро получит ссылку. И вполне возможно, что построив и развернув статический сайт, мне захочется продолжить работу и сделать его полноценным динамическим. Кто знает..?

Друзья, лайки (и не лайки) приветствуются. Вопросы и пожелания можно оставить в комментариях ниже, синяя кнопочка активна, имейте ввиду, мне интересно знать ваше мнение. Благодарности и материальную помощь проекту сюда с пометкой web, так я буду знать, что тема востребована.

Метки:  web, python3x, sitefish, web-app