Как стать автором
Обновить

Что же такое Django?

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров47K

17 месяцев назад я начал свою путь в бэкенд разработку Python. Но спустя время я начал сталкиваться со сложностями в обучении на своей платформе. Первые уроки давались легко, а потом начиналось что-то непонятное в буквальном смысле. Заучивание, записывание, практика одного урока - на это уходили дни. А уроков сотни.

Чтобы найти простое объяснение и понять 10 минутный урок, приходилось несколько часов серфить интернет и потеть над кодом, выявляя правильный путь исправления ошибок. Везде говорят, что в первую очередь нужно учиться искать информацию в интернет. Но сейчас, когда я изучаю Django, даже "перекурив" весь русскоязычный мануал, я не понял ничего. В каждом предложении нужно "гуглить" термины. В сотрудничестве с ИИ я попробовал дать простое объяснение, которое поймет даже первоклассник.

Я только учусь и курс Django пройден наполовину. Все это сделано для тех, у кого тоже возникли трудности.

Что такое джанго

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

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

Джанго имеет много полезных функций, которые помогают создавать веб-сайты:

  • Он позволяет создавать красивые и интерактивные страницы, которые пользователи могут видеть в своих браузерах.

  • Он облегчает работу с базой данных, где хранится информация о веб-сайте, такая как список товаров или информация о пользователях.

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

  • Он имеет мощный административный интерфейс, который позволяет администраторам управлять содержимым веб-сайта без необходимости знать программирование.

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

Что такое проект джанго

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

  1. Когда мы говорим о проекте Django, давай вообразим, что это сам интернет-магазин в целом. В нем мы можем купить товары и просмотреть информацию о них.

  2. Теперь представьте, что у нас есть несколько разных приложений, которые делают разные вещи внутри этого интернет-магазина.

    • Одно из таких приложений может быть "Каталог товаров". Здесь мы можем просмотреть список всех товаров, их названия, изображения и цены. Это как книжка с полным списком товаров в магазине.

    • Еще одно приложение может быть "Корзина покупок". Здесь мы можем добавлять товары в нашу корзину, изменять количество товаров и видеть общую стоимость наших покупок. Это как корзина, в которой мы кладем товары, пока не решим купить их окончательно.

    • И еще одно приложение может быть "Оформление заказа". Здесь мы можем указать наш адрес доставки и подтвердить наш заказ. Это как заполнение специальной формы, чтобы магазин знал, куда доставить наши покупки.

  3. Внутри каждого приложения у нас есть файлы, которые делают разные вещи:

    • У "Каталога товаров" есть файлы, которые описывают модели товаров (как они выглядят и что имеют), представления (как мы показываем список товаров пользователю) и шаблоны HTML (как страница с товарами выглядит).

    • У "Корзины покупок" также есть файлы, которые описывают модели корзины и элементов корзины, представления для добавления/удаления товаров из корзины и шаблоны HTML для отображения корзины.

    • У "Оформления заказа" есть файлы, которые описывают модели заказов и информации о доставке, представления для оформления заказа и шаблоны HTML для отображения формы оформления заказа.

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

Таким образом, проект Django - это целый интернет-магазин, а приложения - это его разные части, которые делают определенные задачи. Каждое приложение имеет свои файлы, которые описывают модели, представления и шаблоны, необходимые для работы этой части магазина.

От запроса до отрисовки страницы

Вот основные этапы и внутренние действия, которые происходят при обработке запроса и отрисовке страницы в Django:

  1. Пользователь открывает браузер и вводит адрес веб-сайта (URL) в строке поиска.

  2. Браузер отправляет запрос на сервер, где расположен веб-сайт.

  3. Сервер получает этот запрос и передает его в Django.

  4. Django получает запрос и смотрит на URL, чтобы понять, какая страница должна быть показана.

  5. Django проверяет файл urls.pyв своей структуре проекта, чтобы найти соответствующий URL-шаблон для этой страницы.

  6. Когда Django находит соответствующий URL-шаблон, он вызывает соответствующую функцию представления (view function).

  7. Функция представления обрабатывает запрос и выполняет все необходимые действия, такие как получение данных из базы данных или выполнение бизнес-логики.

  8. Если данные нужны для отображения страницы, Django может использовать модели данных и базу данных для извлечения этих данных.

  9. Далее Django использует шаблон HTML, который соответствует этой странице, чтобы создать окончательную HTML-страницу.

  10. Django заполняет шаблон данными, которые были получены из базы данных или обработаны функцией представления.

  11. Окончательная HTML-страница готова и возвращается обратно на сервер.

  12. Сервер отправляет эту HTML-страницу обратно в браузер пользователя.

  13. Браузер получает HTML-страницу и начинает ее отображать, показывая пользователю содержимое страницы, такое как текст, изображения и ссылки.

Вот таким образом происходит процесс от запроса до отрисовки страницы в Django!

Структура стандартного простого проекта

Вот пример структуры файлов интернет-магазина в Django:

myshop/
├── manage.py
├── myshop/
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── catalog/
│   ├── migrations/
│   ├── __init__.py
│   ├── admin.py
│   ├── models.py
│   ├── views.py
│   └── templates/
│       └── catalog/
│           ├── product_list.html
│           └── product_detail.html
├── cart/
│   ├── __init__.py
│   ├── models.py
│   ├── views.py
│   └── templates/
│       └── cart/
│           └── cart.html
└── checkout/
    ├── __init__.py
    ├── models.py
    ├── views.py
    └── templates/
        └── checkout/
            └── order_confirmation.html

Теперь давай объясню, за что отвечает каждый файл:

  1. manage.py: Это скрипт для управления Django проектом. Он позволяет выполнять различные команды, такие как запуск сервера или выполнение миграций базы данных.

  2. myshop/ (каталог): Это основной каталог проекта Django.

    • __init__.py: Пустой файл, который указывает на то, что эта директория является пакетом Python.

    • settings.py: Файл настроек проекта, содержащий информацию о базе данных, статических файлах, шаблонах и других параметрах.

    • urls.py: Файл URL‑маршрутов проекта, определяющий, какие представления (views) будут обрабатывать запросы для каждого URL‑адреса.

    • wsgi.py: Файл для настройки WSGI‑совместимого сервера (Web Server Gateway Interface), который позволяет запускать Django приложение на веб‑сервере.

  3. catalog/: Приложение «Каталог товаров».

    • migrations/: Директория, содержащая миграции базы данных, которые определяют структуру таблиц и схемы данных.

    • __init__.py: Пустой файл, указывающий на то, что эта директория является пакетом Python.

    • admin.py: Файл, определяющий административный интерфейс для управления товарами.

    • models.py: Файл, содержащий модели данных, такие как классы для товаров или категорий.

    • views.py: Файл, содержащий представления (views) для отображения страниц с товарами.

    • templates/: Директория, содержащая HTML‑шаблоны для визуального оформления страниц.

  4. cart/: Приложение «Корзина покупок».

    • __init__.py: Пустой файл, указывающий на то, что эта директория является пакетом Python.

    • models.py: Файл, содержащий модели данных, такие как классы для корзины покупок или элементов корзины.

    • views.py: Файл, содержащий представления (views) для добавления товаров в корзину, изменения количества и оформления заказа.

    • templates/: Директория, содержащая HTML‑шаблоны для визуального оформления страниц корзины.

  1. checkout/: Приложение «Оформление заказа» (продолжение).

    • models.py: Файл, содержащий модели данных, такие как классы для заказов или информации о доставке.

    • views.py: Файл, содержащий представления (views) для оформления заказа и подтверждения заказа.

    • templates/: Директория, содержащая HTML‑шаблоны для визуального оформления страниц оформления заказа.

Это лишь пример структуры интернет-магазина в Django, и в реальном проекте может быть больше файлов и каталогов, в зависимости от функциональности сайта.

Теги:
Хабы:
Всего голосов 15: ↑3 и ↓12-7
Комментарии20

Публикации

Истории

Работа

Data Scientist
70 вакансий
Python разработчик
110 вакансий

Ближайшие события