
17 месяцев назад я начал свою путь в бэкенд разработку Python. Но спустя время я начал сталкиваться со сложностями в обучении на своей платформе. Первые уроки давались легко, а потом начиналось что-то непонятное в буквальном смысле. Заучивание, записывание, практика одного урока — на это уходили дни. А уроков сотни.
Чтобы найти простое объяснение и понять 10 минутный урок, приходилось несколько часов серфить интернет и потеть над кодом, выявляя правильный путь исправления ошибок. Везде говорят, что в первую очередь нужно учиться искать информацию в интернет. Но сейчас, когда я изучаю Django, даже «перекурив» весь русскоязычный мануал, я не понял ничего. В каждом предложении нужно «гуглить» термины. В сотрудничестве с ИИ я попробовал дать простое объяснение, которое поймет даже первоклассник.
Я только учусь и курс Django пройден наполовину. Все это сделано для тех, у кого тоже возникли трудности.
Что такое джанго.
Джанго — это специальный инструмент, который помогает разработчикам создавать веб-сайты и приложения. Он называется фреймворком, потому что предоставляет готовые инструменты и правила для работы с веб-сайтами.
Джанго нужен для того, чтобы упростить процесс разработки веб-сайта. Вместо того, чтобы создавать каждую часть сайта с нуля, разработчики могут использовать Джанго, чтобы получить уже готовые компоненты и функциональность.
Джанго имеет много полезных функций, которые помогают создавать веб-сайты:
-
Он позволяет создавать красивые и интерактивные страницы, которые пользователи могут видеть в своих браузерах.
-
Он облегчает работу с базой данных, где хранится информация о веб-сайте, такая как список товаров или информация о пользователях.
-
Он помогает обрабатывать запросы от пользователей и отправлять им нужную информацию.
-
Он имеет мощный административный интерфейс, который позволяет администраторам управлять содержимым веб-сайта без необходимости знать программирование.
Таким образом, Джанго помогает разработчикам создавать веб-сайты более быстро и эффективно, предоставляя им готовые инструменты и структуру работы. Он широко используется для создания различных веб-сайтов, таких как блоги, интернет-магазины и социальные сети.
Что такое проект джанго.
Давай представим, что проект Django — это интернет-магазин, а приложения внутри этого проекта — это его различные части или функциональности.
-
Когда мы говорим о проекте Django, давай вообразим, что это сам интернет-магазин в целом. В нем мы можем купить товары и просмотреть информацию о них.
-
Теперь представьте, что у нас есть несколько разных приложений, которые делают разные вещи внутри этого интернет-магазина.
-
Одно из таких приложений может быть «Каталог товаров». Здесь мы можем просмотреть список всех товаров, их названия, изображения и цены. Это как книжка с полным списком товаров в магазине.
-
Еще одно приложение может быть «Корзина покупок». Здесь мы можем добавлять товары в нашу корзину, изменять количество товаров и видеть общую стоимость наших покупок. Это как корзина, в которой мы кладем товары, пока не решим купить их окончательно.
-
И еще одно приложение может быть «Оформление заказа». Здесь мы можем указать наш адрес доставки и подтвердить наш заказ. Это как заполнение специальной формы, чтобы магазин знал, куда доставить наши покупки.
-
-
Внутри каждого приложения у нас есть файлы, которые делают разные вещи:
-
У «Каталога товаров» есть файлы, которые описывают модели товаров (как они выглядят и что имеют), представления (как мы показываем список товаров пользователю) и шаблоны HTML (как страница с товарами выглядит).
-
У «Корзины покупок» также есть файлы, которые описывают модели корзины и элементов корзины, представления для добавления/удаления товаров из корзины и шаблоны HTML для отображения корзины.
-
У «Оформления заказа» есть файлы, которые описывают модели заказов и информации о доставке, представления для оформления заказа и шаблоны HTML для отображения формы оформления заказа.
-
-
Все эти файлы работают вместе, чтобы создать полноценный интернет-магазин. Они сообщаются друг с другом и используют функции Django, чтобы обрабатывать запросы пользователей и отображать нужные страницы.
Таким образом, проект Django — это целый интернет-магазин, а приложения — это его разные части, которые делают определенные задачи. Каждое приложение имеет свои файлы, которые описывают модели, представления и шаблоны, необходимые для работы этой части магазина.
От запроса до отрисовки страницы.
Вот основные этапы и внутренние действия, которые происходят при обработке запроса и отрисовке страницы в Django:
-
Пользователь открывает браузер и вводит адрес веб-сайта (URL) в строке поиска.
-
Браузер отправляет запрос на сервер, где расположен веб-сайт.
-
Сервер получает этот запрос и передает его в Django.
-
Django получает запрос и смотрит на URL, чтобы понять, какая страница должна быть показана.
-
Django проверяет файл
urls.pyв своей структуре проекта, чтобы найти соответствующий URL-шаблон для этой страницы. -
Когда Django находит соответствующий URL-шаблон, он вызывает соответствующую функцию представления (view function).
-
Функция представления обрабатывает запрос и выполняет все необходимые действия, такие как получение данных из базы данных или выполнение бизнес-логики.
-
Если данные нужны для отображения страницы, Django может использовать модели данных и базу данных для извлечения этих данных.
-
Далее Django использует шаблон HTML, который соответствует этой странице, чтобы создать окончательную HTML-страницу.
-
Django заполняет шаблон данными, которые были получены из базы данных или обработаны функцией представления.
-
Окончательная HTML-страница готова и возвращается обратно на сервер.
-
Сервер отправляет эту HTML-страницу обратно в браузер пользователя.
-
Браузер получает 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
Теперь давай объясню, за что отвечает каждый файл:
-
manage.py: Это скрипт для управления Django проектом. Он позволяет выполнять различные команды, такие как запуск сервера или выполнение миграций базы данных. -
myshop/(каталог): Это основной каталог проекта Django.-
__init__.py: Пустой файл, который указывает на то, что эта директория является пакетом Python. -
settings.py: Файл настроек проекта, содержащий информацию о базе данных, статических файлах, шаблонах и других параметрах. -
urls.py: Файл URL-маршрутов проекта, определяющий, какие представления (views) будут обрабатывать запросы для каждого URL-адреса. -
wsgi.py: Файл для настройки WSGI-совместимого сервера (Web Server Gateway Interface), который позволяет запускать Django приложение на веб-сервере.
-
-
catalog/: Приложение «Каталог товаров».-
migrations/: Директория, содержащая миграции базы данных, которые определяют структуру таблиц и схемы данных. -
__init__.py: Пустой файл, указывающий на то, что эта директория является пакетом Python. -
admin.py: Файл, определяющий административный интерфейс для управления товарами. -
models.py: Файл, содержащий модели данных, такие как классы для товаров или категорий. -
views.py: Файл, содержащий представления (views) для отображения страниц с товарами. -
templates/: Директория, содержащая HTML-шаблоны для визуального оформления страниц.
-
-
cart/: Приложение «Корзина покупок».-
__init__.py: Пустой файл, указывающий на то, что эта директория является пакетом Python. -
models.py: Файл, содержащий модели данных, такие как классы для корзины покупок или элементов корзины. -
views.py: Файл, содержащий представления (views) для добавления товаров в корзину, изменения количества и оформления заказа. -
templates/: Директория, содержащая HTML-шаблоны для визуального оформления страниц корзины.
-
-
checkout/: Приложение «Оформление заказа» (продолжение).-
models.py: Файл, содержащий модели данных, такие как классы для заказов или информации о доставке. -
views.py: Файл, содержащий представления (views) для оформления заказа и подтверждения заказа. -
templates/: Директория, содержащая HTML-шаблоны для визуального оформления страниц оформления заказа.
-
Это лишь пример структуры интернет-магазина в Django, и в реальном проекте может быть больше файлов и каталогов, в зависимости от функциональности сайта.
ссылка на оригинал статьи https://habr.com/ru/articles/747234/
Добавить комментарий