Модуль Basic
January 29, 2023

Введение в Django. Установка и настройка необходимых инструментов разработки.

Что такое Django?

Django - это высокоуровневый Python веб-фреймворк, который позволяет быстро создавать безопасные и поддерживаемые веб-сайты.

Фреймворк - Программная платформа, определяющая структуру программной системы.

Рассмотрим по подробнее понятие Django.

Он содержит в себе много библиотек, следует определенным стандартам, помогает защищать наши web приложения.

Особенности Django:

  • Он является бесплатным и у него открыт исходный код
  • О Django можно сказать что в нём "Всё включено"
  • Помогает разработчикам избегать ошибок в безопасности
  • С помощью одной функции идет обработка нескольких URL запросов

У Django есть два принципа:

  • RAD - ориентированность на максимально быстрое получение качественного результата в условиях сильных ограничений по строкам и бюджету.
  • DRY - принцип разработки программного обеспечения(ПО) который нацелен на снижение повторения информации различного рода (такой же принцип есть и базах данных в которых стараются не дублировать данные)

Разработка.

Она состоит из этапов. Рассмотрим её основные этапы.

  1. Планирование и аналитика (что мы хотим от приложения, его востребованность и нужность)
  2. Создание ТЗ (Техническое задание)
  3. Создание прототипа (некоторые наброски проекта благодаря которым будем понимать что может наше приложение, какие его недостатки и как оно будет выглядеть)
  4. Создание макета дизайна (этим занимаются дизайнеры)
  5. Верстка (каркас сайта в который будем все заполнять)
  6. Программирование (создание функционала и тому подобное)
  7. Наполнение контентом ( это то что будет присутствовать в нашем проекте)
  8. Тестирование проекта (выявление минусов и доработка их)
  9. Сдача проекта
  10. Техническая поддержка (дополнение сайта по мере его существования, к примеру обновления)

Сетевая модель и типы данных TCP/IP.

Что же это такое? Такая модель описывает способ передачи данных от источника информации к получателю, например от сайта получателю и наоборот.

Под данной моделью предполагается прохождение информации через 4 уровня.

Рассмотрим эти 4 уровня.

Схема 4 уровней

Каждый из уровней описывается протоколом передачи. Например как мы видим на таблице выше это HTTPS, SMTP, DNS и другие.

Рассмотрим каждый уровень по отдельности.

  1. Уровень приложений или Прикладной уровень. Здесь происходит взаимодействие с конкретной программой, реализуется через протоколы: HTTPS, SMTP, DNS и другие.
  2. Транспортный уровень. Это протоколы доставки информации. Они отвечают за то чтобы информация доставлялась от нужного компьютера к нужному. TCP - отвечает за передачу данных без потерь, но страдает скорость передачи. UDP - отвечает за передачу данных с большей скоростью, но вероятна потеря данных.
  3. Уровень сети Интернет или Сетевой/Межсетевой уровень. Здесь происходит взаимодействие между разными сетями.
  4. Канальный уровень или уровень доступа к сети. Он описывает как передаются данные между двумя сетевыми устройствами в зависимости каким образом это делается.

Существует такое понятие как Адресация сети. Этот термин подразумевает что у каждого компьютера подключенного к сети интернет есть свой уникальный IP адрес. Эти адреса могут быть как в числовом виде так и в доменном.

Существует два вида IP адресов: статические и динамические.

Установка Django в наше виртуальную среду.

Открываем нашу виртуальную среду и активируем её. Напомню что для создания среды пишем в терминале команду

python -m venv "название среды"

Для её активации

"название среды"/Scripts/activate

Для установки Django

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 

Откроем файл settings.py

Отсюда хотелось бы выделить такие строчки как:

BASE_DIR = Path(_file_).resolve().parent.parent

Данная строка отвечает за основную папку текущего проекта.

И строка SECRET_KEY

В данной строке располагается ключ который генерируется случайным образом символами самим 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 после запятой в кавычках вставляем.

У меня это ShopConfig

Далее перед 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 будет выглядеть так.