Введение в Django. Установка и настройка необходимых инструментов разработки.
Что такое Django?
Django - это высокоуровневый Python веб-фреймворк, который позволяет быстро создавать безопасные и поддерживаемые веб-сайты.
Фреймворк - Программная платформа, определяющая структуру программной системы.
Рассмотрим по подробнее понятие Django.
Он содержит в себе много библиотек, следует определенным стандартам, помогает защищать наши web приложения.
- Он является бесплатным и у него открыт исходный код
- О Django можно сказать что в нём "Всё включено"
- Помогает разработчикам избегать ошибок в безопасности
- С помощью одной функции идет обработка нескольких URL запросов
- RAD - ориентированность на максимально быстрое получение качественного результата в условиях сильных ограничений по строкам и бюджету.
- DRY - принцип разработки программного обеспечения(ПО) который нацелен на снижение повторения информации различного рода (такой же принцип есть и базах данных в которых стараются не дублировать данные)
Разработка.
Она состоит из этапов. Рассмотрим её основные этапы.
- Планирование и аналитика (что мы хотим от приложения, его востребованность и нужность)
- Создание ТЗ (Техническое задание)
- Создание прототипа (некоторые наброски проекта благодаря которым будем понимать что может наше приложение, какие его недостатки и как оно будет выглядеть)
- Создание макета дизайна (этим занимаются дизайнеры)
- Верстка (каркас сайта в который будем все заполнять)
- Программирование (создание функционала и тому подобное)
- Наполнение контентом ( это то что будет присутствовать в нашем проекте)
- Тестирование проекта (выявление минусов и доработка их)
- Сдача проекта
- Техническая поддержка (дополнение сайта по мере его существования, к примеру обновления)
Сетевая модель и типы данных TCP/IP.
Что же это такое? Такая модель описывает способ передачи данных от источника информации к получателю, например от сайта получателю и наоборот.
Под данной моделью предполагается прохождение информации через 4 уровня.
Каждый из уровней описывается протоколом передачи. Например как мы видим на таблице выше это HTTPS, SMTP, DNS и другие.
Рассмотрим каждый уровень по отдельности.
- Уровень приложений или Прикладной уровень. Здесь происходит взаимодействие с конкретной программой, реализуется через протоколы: HTTPS, SMTP, DNS и другие.
- Транспортный уровень. Это протоколы доставки информации. Они отвечают за то чтобы информация доставлялась от нужного компьютера к нужному. TCP - отвечает за передачу данных без потерь, но страдает скорость передачи. UDP - отвечает за передачу данных с большей скоростью, но вероятна потеря данных.
- Уровень сети Интернет или Сетевой/Межсетевой уровень. Здесь происходит взаимодействие между разными сетями.
- Канальный уровень или уровень доступа к сети. Он описывает как передаются данные между двумя сетевыми устройствами в зависимости каким образом это делается.
Существует такое понятие как Адресация сети. Этот термин подразумевает что у каждого компьютера подключенного к сети интернет есть свой уникальный IP адрес. Эти адреса могут быть как в числовом виде так и в доменном.
Существует два вида IP адресов: статические и динамические.
Установка Django в наше виртуальную среду.
Открываем нашу виртуальную среду и активируем её. Напомню что для создания среды пишем в терминале команду
python -m venv "название среды"
"название среды"/Scripts/activate
pip install django
django-admin startproject "имя проекта"
После его создания у вас появятся такие папки.
В моем случае название проекта это watch_shop
Давайте разберем за что отвечает каждый файл.
__pycache__ - здесь создается Интерпретатор, ускоряет работу нашего web приложения.
__init__.py - обозначает что текущая папка является полноценным пакетом.
asgi.py/wsgy.py - это модули которые нужны для взаимодействия с веб сервером посредством определенных интерфейсов (обычно используются когда мы собираемся выкладывать готовый продукт в сеть интернет)
settings.py - тут прописаны основные базовые настройки нашего проекта.
urls.py- здесь хранятся уровни маршрутов и прописываются (будем добавлять сови пути по которым сможем переходить, будем с ней работать)
Переходим в директорию нашего проекта, в моем случае я пишу.
cd watch_shop
Для старта работы проекта пропишем в терминал.
python manage.py runserver
Отсюда хотелось бы выделить такие строчки как:
BASE_DIR = Path(_file_).resolve().parent.parent
Данная строка отвечает за основную папку текущего проекта.
В данной строке располагается ключ который генерируется случайным образом символами самим Django и он существует чтобы разграничивать доступ для нашего web ресурса
! Важно ! Данный ключ никому передавать нельзя так как с помощью него злоумышленники могут совершать атаки на ваш web ресурс или приложение)
Для использования команд которые мы не знаем пишем в терминале.
python mange.py help
Для создания приложения используем команду
python manage.py startapp "имя_приложения"
У нас создастся папка нашего приложения со следующими файлами, я назвал свое приложение shop.
Давайте разберемся за что отвечает каждый файл.
__init__.py отвечает за тоже самое что и в самом проекте.
migrations - здесь хранятся миграции с ними познакомимся и будем работать чуть позже.
admin.py - данный файл отвечает за настройку панели администратора.
apps.py - это основной конфигурационный файл приложения.
models.py - здесь хранятся модели.
tests.py - файл нужный для тестирования нашего приложения.
views.py - этот файл нужен для создания контроллеров.
Контроллер - то код, запускаемый при обращении по интернет-адресу определенного формата и в ответ выводящий на экран определенную веб-страницу.
Добавление нашего приложения в папку проекта
Открываем файл apps.py в нём копируем название класса, далее переходим в файл settings.py и в 33 строку в INSTALLED_APPS после запятой в кавычках вставляем.
Далее перед ShopCofig (у меня такое название у вас может отличатся) прописываем путь к этому файлу - имя_приложения.apps.
В конечном итоге строка будет выглядеть так: 'ИМЯ_ПРИЛОЖЕНИЯ.apps.ShopConfig'
Далее в файле нашего приложения создадим файл urls.py
Далее в файле urls.py который находится в проекте пишем include на второй строке.
Подключим все пути нашего приложения. Для этого в файле urls.py который находиться в нашем проекте пропишем на 5 строке следующее.В
Теперь нам нужно написать urls.py для нашего приложения. Для этого мы из файла urls.py в папке проекта копируем и вставляем 2 строчку: from django.urls import path в файл urls.py в папке нашего приложения и еще пишем такую строчку: from имя_приложения.views import index. И так же проделываем со строчкой:
urlpatterns = [ path('members/',index), ]
В файле views.py пишем следующую строчку:
from django.http import HttpResponse
Добавляем функцию с её помощью мы выведем Hello World!:
В конечном итоге views.py будет выглядеть так.