3 горизонтальные линии, бургер
3 горизонтальные линии, бургер
3 горизонтальные линии, бургер
3 горизонтальные линии, бургер

3 горизонтальные линии, бургер
Удалить все
ЗАГРУЗКА ...

Содержание



    Лучшие книги, сайты и YouTube-туториалы для начала изучения Django

    Часы
    14.11.2025
    /
    Часы
    14.11.2025
    /
    Часы
    23 минут
    Глазик
    88
    Сердечки
    0
    Соединённые точки
    0
    Соединённые точки
    0
    Соединённые точки
    0

    Длинное вступление о том, почему стоит сначала почитать, а потом делать

    Моя история

    Знаешь, когда только-только начинаешь учить что-нибудь, например новый язык программирования или как в нашем случае фреймворк Django, сразу со всех утюгов начинают сыпаться различного рода рекомендации, топы, обзоры, мнения и туториалы. И не пойми меня неправильно, это не плохо, это просто сбивает с толку.
    Особенно если изучаемая технология очень популярна и особенно если это Фронтенд фреймворк. Но не о них сейчас речь.
    Конкретно я, по началу, не учился по книгам или YouTube-туториалам... Ну ладно приврал, я посмотрел данный плейлист, но только первые части структуры проекта и последние части с развёртыванием сайта на сервере. И всё, собственно говоря, до всего остального я дошел либо сам, либо при помощи Google, либо официальной документации, либо любимый всеми StackOverflow. О чём очень сильно пожалел в будущем и не один раз.
    Видишь ли, спору нет, я сделал сайт, смог его самостоятельно развернуть и даже первое время его обновлять. Но шло время, сайт становился сложнее, я добавлял в него всё новые и новые фичи, чинил уже сломанные или убирал их вовсе (ибо не мог починить).
    Как думаешь, что это был за сайт? Если ты подумал об этом сайте (на том, где ты читаешь эту статью), то ты прав. Это тот самый сайт. Можешь глянуть официальный репозиторий моего сайта, и сам убедиться.
    Так например, у меня с самого начала было комментирование на сайте. Сделано оно было так плохо и криво, что вскоре я его убрал(Июль 9 2024г) (потом вернул его(Декабрь 19 2024г), но в уже более правильной реализации). Или своя админка. Я три раза пытался сделать её. ТРИ РАЗА. Каждый раз, что-то шло не так, и они были ужасны (В конце концов я остановился на готовом решении -  Django-Jet)
    На момент написания данной статьи я устранил весь мусор и переписал код сайта. Но кое-что, всё-таки ещё нужно сделать. К примеру, чтобы иметь возможность интегрировать тесты на сайт и чтобы они одинаково работали на боевом, тестовом и на рабочем сервере, нужно перенести его на виртуальный или выделенный сервер (а ещё лучше собрать и подключить свой :P ).
    Вскоре заниматься поддержкой данного сайта стало почти непосильной задачей. И я начал читать книги, просматривать YouTube-туториалы, читать соответствующие тематические сайты.
    В общем, я пишу эту статью для тех, кто только начинает делать сайты (и делать их на Django, очевидно), и для тех кто уже делает сайты и у него даже получается, но не совсем. Если для первых я хочу сэкономить время, и направить на правильный путь, то вторых хочу убедить почитать немного и/или ознакомиться с туториалами на YouTube и/или других сайтах.

    Как будет структурирована данная статья?

    Так как не одними книгами я учил Django, но и YouTube-плейлистами и другими нишевыми сайтами, то и статья будет состоять из 3-х разделов:
    1. Про книги, обзор и их сравнение. Я смогу обозреть лишь самые популярные(и прочитанные мною) книги про разработку сайтов на Django. Дабы предоставить максимально конкретные рекомендации по тому, что стоит читать и кому конкретно это стоит читать, я условно разделю читателей, по их уровню опытности.
    2. Про YouTube каналы и их плейлисты. Тут, кроме того, что я предоставлю ссылки на соответствующие плейлисты, но и обозрю специализированные каналы для изучения Django.
    3. Про нишевые сайты. Сайты, авторы которых предлагают отличные туториалы в интерактивном, текстовом формате.
    Я не буду обозревать курсы, ибо просто не пользовался ими. Не считал необходимым. По этому, если я ими не пользовался, то и писать про это не могу.

    Как буду определять для кого?

    У каждого из нас, свой уровень знания и владения Django-фреймворком. Деление условное, и возможно не отражает всей сложности человека и его уровня подготовки, но для данной статьи я буду придерживаться именно её. 
    Итак, я разделю читателей на:
    1. Новичков — не имеют опыта в данной сфере (Django/Python), но возможно имели опыт в других сферах разработки, но не в веб разработке. По тем или иным причинам хотят изучить фреймворк и начать писать свои сайты.
    2. Профессионалов — уже есть опыт работы в данной сфере (Django/Python), или нет опыта работы с фреймворком Django, но есть опыт работы с другими фреймворками, такими как FastAPI, Laravel, Flask и прочие

    Кому и с чего лучше всего начать?

    Если ты новичок, лучше всего начинать с того формата, который тебе нравится.  Так, если, нравится видео с возможностью взглянуть на то кто, куда и что нажимает, то лучше начни с обучающих плейлистов на Ютубе про Django. Если любишь читать, и возвращаться время от времени к прочитанному, ценишь актуальность информации, то соответствующие сайты в помощь. Но если, ты хочешь полноценного гайда от А до Я со всеми нюансами и от профессионалов своего дела, то книги о Django - твой выбор. 
    Если ты профессионал, то документация это твоё всё. Но книги будут не лишними, особенно те, которые смогут рассказать нечто новое или показать новые подходы в решении тех или иных задач. Они то и подскажут правильные подходы к решению той или иной задачи.

    Про книги

    Начну пожалуй с книг, ибо считаю их лучшим источником для изучения Django. По факту, каждая из ниже представленных книг является самодостаточной и прочитав до конца любую из этих книг, ты будешь иметь на руках готовый проект. А некоторые ещё рассказывают про то, как этот "готовый" проект можно будет опубликовать на серверах.
    Некоторые из этих книг, сильно устарели, но и из них можно будет подчеркнуть много интересной информации о Django или Python.
    И вот мой первый совет, не пытайся прочитать все книги. И не просто читай их, но делай параллельно своё приложение. Будь оно твоё собственное или взято из самой книги. Так ты сможешь отработать практические навыки и закрепить их, создав соответствующее приложение.

    Критерии для сравнения книг

    Для того чтобы иметь возможность сравнивать книги между собой, нужно представить несколько ключевых критериев по которым и будет происходить сравнение.
    И сначала будет краткий обзор каждой из них, после чего в конце этой главы я сделаю определённые выводы и сделаю рекомендацию кому и с чего стоит начать.
    Важно так же понимать что очерёдность не имеет значение, все выводы по книгам будут в конце.
    Критерии будут следующие:
    1. Актуальность. Соответствует ли литература современному состоянию технологий? Новая информация важна для быстроразвивающихся областей.
    2. Точность. Насколько достоверна представленная информация? Ошибки в технических текстах могут иметь серьезные последствия.
    3. Предназначение. Это справочник, руководство по эксплуатации, учебник или книга для общего развития?
    4. Ясность и структура. Легко ли читать и понимать текст? Логична ли структура?
    5. Язык книги. Использован ли точный технический язык без излишних усложнений?
    Ну а теперь давай обозрим каждую из этих книг

    Test-Driven Development with Python: Obey the Testing Goat: Using Django, Selenium, and JavaScript

    Общая информация:

    Автор: Гарри Персиваль
    Первая публикация: 2014г.
    Для кого: Новички/Профессионалы
    Начну со своей любимой книги. Почему любимой? Сам посуди, в этой книге описывается создание проекта с нуля до развёртывания на боевом сервере. При этом, объясняя наглядно, как, когда и зачем покрывать свой сайт тестами. Как функциональными, так и модульными. 
    Подробно объясняется то, как можно сделать так, чтобы тесты были частью процесса развёртывания сайта при добавлении тех или иных изменений на сайт. Эта книга больше про так называемый Test Driven Development, чем про саму разработку.
    TDD (Test Driven Development)- техника разработки программного обеспечения, которая основывается на повторении очень коротких циклов разработки: сначала пишется тест, покрывающий желаемое изменение, затем пишется код, который позволит пройти тест, и под конец проводится рефакторинг нового кода к соответствующим тестам 

    Характеристика книги:

    Актуальность: Средняя / Высокая. Хоть используемая версия Django устарела, основные принципы и методология TDD (Test-Driven Development) абсолютно вечны и остаются "золотым стандартом" в индустрии. Подходы к написанию тестов с использованием unittest и Selenium по-прежнему актуальны.
    Точность: Очень высокая. Гарри Персиваль — известный эксперт в сообществе Python и Django, со основатель PythonAnywhere и частый спикер на конференциях. Книга считается каноническим руководством по TDD в экосистеме Python/Django.
    Предназначение: Очень высокое. Книга уникальна по своему предназначению. Она нацелена как на новичков в Django, так и на новичков в TDD. Ее главная цель — научить писать код, руководствуясь тестами с самой первой строчки. Она не "добавляет" тестирование к Django, а использует TDD как инструмент для проектирования и создания Django-приложения.
    Ясность и структура: Отличная. Структура книги — это один большой, сквозной учебник. Читатель с нуля создает веб-приложение (список дел "To-Do list"), следуя строгому "ритму TDD". Каждая глава — это логичный шаг в разработке (например, "настройка unittest", "тестирование модели", "тестирование форм").
    Стиль изложения: Увлекательный и практичный. Стиль очень легкий, пошаговый и мотивирующий. Автор использует юмор и запоминающуюся мантру "Следуй за Тестирующим Козлом" (Obey the Testing Goat), чтобы сделать строгий и дисциплинированный процесс TDD увлекательным и понятным.

    Главные особенности и инсайты книги:

    1. TDD как методология проектирования: Главный инсайт книги заключается в том, что TDD — это не просто "написание тестов", а дисциплина, которая определяет дизайн вашего кода. Вы не пишете код, пока у вас нет провального теста, который этот код должен исправить.
    2. Два цикла TDD (Внешний и Внутренний): Книга блестяще обучает "двойному циклу" TDD:
    3.  Внешний цикл (Функциональные тесты): Сначала пишется тест с точки зрения пользователя (используя Selenium), который описывает новую фичу и, естественно, проваливается.
    4. Внутренний цикл (Unit-тесты): Чтобы заставить функциональный тест работать, вы начинаете писать unit-тесты для отдельных частей (моделей, представлений), пишете код для их прохождения, проводите рефакторинг и повторяете, пока функциональный тест не "позеленеет".
    5. "Следуй за Тестирующим Козлом" (Obey the Testing Goat): Эта мантра символизирует строгую дисциплину TDD и стала культовой в сообществе. Она означает, что тесты всегда идут первыми и ведут разработку за собой.
    6. Начало с Selenium: В отличие от многих руководств, Персиваль начинает не с unittest, а с Selenium. Это заставляет читателя сначала думать о том, что пользователь должен увидеть и сделать (поведение), и только потом о том, как это реализовать (внутреннее устройство).

    Рецензии пользователей(взяты с Amazon):

    [Источник] От Adam Harrison. Эта книга научит вас основам разработки через тестирование (TDD). Она легко читается и понятна. Предполагается, что у вас есть только базовые знания Python и HTML. Автор подробно описывает процесс настройки. Отличная книга!
    [Источник] От A. McClure. Это одна из немногих книг в моей жизни, которую я перечитывал несколько раз (художественная литература, научно-популярная литература, книги по саморазвитию — что угодно). Я прочитал эту книгу 3 раза, и каждый раз мне кажется, что я узнаю что-то новое. Это отличный ресурс, который поможет вам начать мыслить в парадигме «сначала тестирование», а не слепо бросаться в написание кода. Жаль, что я не прочитал эту книгу несколько лет назад. Она помогла бы мне сформировать гораздо лучшие привычки. Приобретите эту книгу как можно скорее и перечитывайте её почаще, пока TDD не станет для вас второй натурой.
    [Источник] От Scott R Dingle. Главы о настройке собственного сервера с собственным доменом сами по себе оправдывают стоимость этой книги! Но тема TDD (разработки через тестирование) раскрыта настолько подробно, с таким энтузиазмом и откровенностью, что от книги просто невозможно оторваться. Тесты спасают жизни! Ну ладно, тесты спасают рассудок программиста. Если вас хоть немного интересует правильное применение TDD, то сделайте себе одолжение и купите эту книгу!

    Django 5 By Example: Build Powerful and Reliable Python Web Applications from Scratch

    Общая информация:

    Автор: Антонио Меле
    Первая публикация: 2024г.
    Для кого: Новички/Профессионалы
    Данная книга, состоит из 6 больших примеров реализации различных видов сайтов, а именно:
    1. Блог
    2. Социальная Сеть
    3. Интернет-Магазин
    4. Онлайн чат
    5. Django как API для любого фронтенда
    6. Платформа электронного обучения
    Каждый сможет найти себе то, что ему нужно для реализации того или иного проекта. И конечно же, можно читать в произвольном порядке. Конечно, иногда создание того или иного сайта занимает несколько глав, но даже в таком случае каждую главу можно будет читать в отрыве от остальных.
    Но так же стоит учесть тот факт, что сложность глав возрастает по мере углубления в материал. По этому, новичкам, стоит всё-таки начать с первой главы, чтобы разобраться что к чему. И только потом переходить к следующим.

    Характеристика книги:

    АктуальностьОчень высокая. Книга охватывает Django 5.0, что делает ее одной из самых актуальных книг по Django на сегодня. Она рассматривает современные возможности фреймворка, включая нововведения, появившиеся в последних версиях.
    ТочностьОчень высокая. Антонио Меле — авторитетный автор и опытный Django-разработчик. Книга известна своей технической точностью и тщательной проработкой примеров. Это надежный источник для изучения Django
    ПредназначениеОчень высокая. Это проектно-ориентированное руководство. Его цель — научить Django "через руки", проведя читателя от начала до конца через создание нескольких полноценных, сложных веб-приложений. Оно идеально подходит для тех, кто уже знает основы Python и хочет научиться создавать реальные проекты на Django.
    Ясность и структура: Отличная Структура — главное достоинство книги. Она не разбросана по отдельным темам, а построена вокруг 6 крупных проектов.
    Стиль изложенияПрактичный и пошаговый. Стиль книги — это подробное, пошаговое руководство. Автор буквально "ведет за руку" читателя, показывая, какую строчку кода куда добавить. Это очень плотный, насыщенный кодом и практическими инструкциями учебник.

    Главные особенности и инсайты книги:

    Обучение на проектах: Это ключевая особенность. Вы не изучаете изолированные функции, а сразу видите, как они работают вместе для решения конкретной задачи (например, "как создать корзину покупок" или "как реализовать систему подписок").
    Широчайший охват тем: Благодаря проектному подходу, книга охватывает огромный стек технологий, необходимых современному Django-разработчику. Она выходит далеко за рамки самого фреймворка, включая:
    1. Создание REST API (с помощью Django REST Framework).
    2. Реализацию асинхронных задач (с помощью Celery).
    3. Использование Redis для кеширования.
    4. Интеграцию платежных систем.
    5. Создание рекомендательных систем.
    6. Реализацию чатов (с помощью Channels).
    Фокус на "Как", а не "Почему": В отличие от "Two Scoops", эта книга меньше фокусируется на философии, а больше — на практических рецептах. Она отвечает на вопрос: "Я хочу сделать фичу X, какой код мне для этого нужен?".
    Актуальность: Используя Django 5.0, она является одним из лучших ресурсов для изучения современного Django.

    Рецензии пользователей(взяты с Amazon):

    [Источник] От M. Gibbs.  Я считаю эту книгу одной из лучших книг по прикладному программированию, которые я когда-либо читал. Проекты кажутся достаточно обширными для освоения навыков, а автор отлично объясняет, что делать и почему. Главы развиваются органично по мере развития навыков, и я не заметил каких-либо странных скачков, которые могли бы меня смутить. Кроме того, книга хорошо сводит к минимуму неизбежное повторение. Кто-то другой рекомендовал печатать код вручную, а не просто копировать и вставлять из исходника, который автор выкладывает на Github или в бесплатной PDF-версии, которую можно запросить после покупки. Я согласен с этим советом. Кроме того, если вам недостаточно мощи книги, есть Discord-сервер, где можно общаться с автором и другими разработчиками. Это очень помогло. Большинство ошибок, которые меня смущали, были моими собственными опечатками. Однако сервер Discover также служит для поиска опечаток в книге в режиме реального времени. Я очень рад, что приобрел эту книгу, и рекомендую ее всем, кто хочет изучить Django и глубже погрузиться в Python.
    [Источник] От J. Это, пожалуй, до сих пор лучшая книга по Django в целом. Единственное, о чём я действительно хотел бы услышать упоминание, — это тестирование. В книге уже более 700 страниц, поэтому я бы не ожидал, что она будет охватывать слишком много, но тот факт, что в ней не упоминается важность написания тестов, немного разочаровывает, ведь книга изначально предназначена для новичков. Один из основных разработчиков Django сказал: «Код без тестов изначально неисправен». В остальном я думаю, это хорошее введение в Django. Не уверен, что можно считать её книгой для начинающих, так как вам понадобятся базовые знания HTML, CSS и JavaScript. Также, возможно, будет полезно немного познакомиться с Python или другим языком программирования перед прочтением, чтобы понять основные принципы программирования. Я думаю, что эта книга, пожалуй, лучшая из возможных с точки зрения охвата достаточного количества тем, чтобы вы могли понять, что требуется для создания полноценных проектов от начала до конца, не превращая её в книгу на 2000 страниц.
    [Источник] От patrick. Очень легко читать, всё хорошо структурировано и предельно понятно. Я уже немного знаком с Django, но эта книга затрагивает вещи, которые я не знал из первой главы. Я уже прочитал три главы. Если вы пытаетесь разобраться в Django, не зная всех его внутренних возможностей, то эта книга для вас. Я собираюсь создать довольно сложное приложение, и, на мой взгляд, очень полезно знать всю мощь фреймворка Django, прежде чем начать писать. Я знаю, что мнения людей расходятся на тему исследования и реализации, но есть много автоматической магии, которую вам следует знать, если вы работаете с бэкенд-фреймворком.

    Django Design Patterns and Best Practices: Industry-standard Web Development Techniques and Solutions Using Python

    Общая информация:

    Автор: Арун Равиндран
    Первая публикация: 2015г.
    Для кого: Профессионалы
    Если ты хочешь понять, как применить паттерны программирования на твоё Django-приложение, то тебе нужно прочитать эту книгу. А так же, если тебе интересно, как сам Django работает, и какие паттерны сам применяет, то тебе нужно прочитать эту книгу.
    Мне понравилось в этой книге то, что можно без проблем собрать свой собственный Django проект с нуля. Это как большой туториал на 200 с чем-то страниц. Жаль, конечно, что он уже "немного" устарел и ты не сможешь использовать все фичи современного Django.
    В 2025 году эту книгу можно было рекомендовать новичкам, но учитывая тот факт, что она сильно устарела, теперь она может быть полезна только для профессионалов, которые смогут кое-что подчеркнуть из ранней истории и устройства Django.

    Характеристика книги:

    1. Актуальность: Низкая. Книга ориентирована на Django 1.7 и Python 3.4, выпущенные в 2014 году. Она устарела в плане версий. Тем не менее ее основная тема — "дизайн-паттерны" — делает ее концептуально очень актуальной. Подходы к проектированию, такие как "Model Mixins", "Service Objects" и "User Profiles", остаются фундаментальными для написания чистого и поддерживаемого кода на Django.
    2. Точность: Очень высокая Автор, Арун Равиндран, является опытным разработчиком (использует Django с 2007 года) и членом Django Software Foundation. Книга прошла рецензирование несколькими экспертами . Она демонстрирует глубокое понимание как классических паттернов проектирования (GoF, Fowler), так и их практического применения в Django.
    3. Предназначение: Очень высокая Книга четко позиционируется для разработчиков, которые уже знакомы с основами Django (прошли базовый туториал) и хотят углубить свое понимание фреймворка. Ее цель — не просто показать как, а объяснить почему, обучая читателей формализованным "лучшим практикам" и паттернам для создания поддерживаемого ПО.
    4. Ясность и структура: Высокая Структура книги логично следует жизненному циклу разработки: от проектирования приложения и моделей до работы с представлениями , шаблонами , формами и далее к более сложным темам, таким как работа с устаревшим кодом , тестирование , безопасность и развертывание. Каждый паттерн представлен в четком формате: Проблема, Решение, Детали.
    5. Стиль изложения: Увлекательный и прагматичный Стиль изложения является одной из самых сильных сторон книги. Автор использует сквозную "вымышленную историю" о создании социальной сети для супергероев "SuperBook". Эти вставки обрамляют технические проблемы в понятный, увлекательный контекст, что делает чтение менее сухим и более запоминающимся

    Главные особенности и инсайты книги:

    1. Формализация паттернов: Книга не просто дает советы, а знакомит с языком паттернов. Она связывает классические паттерны (MVC, Active Record, Template Method) с конкретными компонентами Django и представляет Django-специфичные паттерны (например, Service Objects , Model Mixins , User Profiles , Context Enhancers ) как формальные решения повторяющихся проблем.
    2. Паттерн "Service Objects": Книга предлагает "Service Objects" как решение проблемы "Толстых моделей" (Fat Models). Логика, не связанная напрямую с состоянием модели (например, взаимодействие с внешними API или сложные вычисления), выносится в отдельные "сервисные" классы. Это делает модели чище, а логику — более тестируемой и переиспользуемой.
    3. Нарративный подход "SuperBook": Вместо изолированных примеров, книга использует увлекательную историю команды, создающей "SuperBook". Это эффективно демонстрирует, как технические решения (например, выбор django-braces или кастомизация админки ) принимаются в контексте реальных требований, дедлайнов и даже офисной политики .
    4. Прагматизм (От Проектирования до Развертывания): Книга охватывает весь жизненный цикл. Она начинается не с кода, а с "Сбора требований" и "HTML-макетов" , и включает такие важные, но часто пропускаемые темы, как "Работа с устаревшим кодом" и "Безопасность"

    Рецензии пользователей(взяты с Amazon):

    [Источник] От kaytam. Эта книга отлично подойдет как для начинающих, так и для опытных разработчиков, использующих фреймворк Django. Она относительно проста для понимания, а содержание и обоснование примеров хорошо объяснены. Я еще не прочитал всю книгу, но пока что она содержит много полезной информации и советов.
    [Источник] От Mark Lyon. Эта книга содержит полезные рекомендации для начинающих разработчиков, использующих Django.
    [Источник] От Leonardo Jimenez. Книга хорошая, но она не соответствует своему названию, она не посвящена шаблонам проектирования. Хотя, должен сказать, для начинающего разработчика на Django она может быть действительно полезной.

    Two Scoops of Django: Best Practices for Django 1.8

    Общая информация:

    Автор: Одри Рой
    Первая публикация: 2015г.
    Для кого: Профессионалы
    Да, знаю книга Two Scoops of Django: Best Practices for Django 1.8 довольно сильно устарела, учитывая тот факт, что она была написана для Django версии 1.8. Сейчас (на момент публикации данной статьи) уже есть Django 6.0.
    Но важно так же понимать, что практики, описанные в этой книге, могут быть применены и для современных версий. В этой книге можно найти лучшие практики начиная от дизайна моделей, заканчивая тем, как писать тесты и отлаживать Django-приложения.

    Характеристика книги:

    1. Актуальность: Низкая Книга ориентирована на Django 1.8 , которая была выпущена в 2015 году. С тех пор фреймворк претерпел значительные изменения (например, внедрение асинхронности, изменения в ORM, эволюция Channels). Cпецифические для Django 1.8 советы (например, некоторые сторонние пакеты или конкретные настройки) устарели. Однако, основные принципы и "лучшие практики" (структура проекта, философия "Толстые модели, Тонкие представления", подходы к безопасности, тестированию и развертыванию) остаются актуальными и ценными по сей день.
    2. Точность: Очень высокая Книга написана авторитетными экспертами в сообществе Django и прошла техническую рецензию у ключевых разработчиков ядра Django, включая Малкольма Треддинника и Аймерика Огюстена. Для версии Django 1.8 и своего времени — это эталонный по точности материал.
    3. Предназначение: Очень высокая Авторы четко заявляют, что это не учебник для начинающих. Книга предназначена для разработчиков, которые уже прошли официальное руководство и хотят научиться создавать масштабируемые, безопасные и поддерживаемые приложения. Ее цель — задокументировать "неписаные правила" и передать опыт реальной разработки.
    4. Ясность и структура: Структура книги очень логична. Она охватывает весь цикл разработки: от настройки окружения до развертывания и отладки. Важной особенностью является модульность — авторы отмечают, что каждую главу можно читать отдельно, что делает книгу отличным справочником.
    5. Стиль изложения: Стиль неформальный, но авторитетный. Авторы используют понятные аналогии (например, с мороженым ) для объяснения концепций. Ключевой элемент стиля — использование блоков "Don't Do This!", которые наглядно демонстрируют распространенные анти-паттерны и помогают их избежать. Книга субъективна (opinionated), но авторы открыто заявляют об этом.

    Главные особенности и инсайты книги:

    1. Центральная философия: "Толстые модели, Тонкие представления" Это, пожалуй, главный инсайт книги. Авторы настаивают на том, что бизнес-логика должна быть инкапсулирована в моделях (Fat Models) или вынесена в отдельные утилиты , в то время как представления (Thin Views) должны быть максимально "худыми", отвечая только за обработку HTTP-запроса и ответа
    2. "Глупые" шаблоны (Stupid Templates) В продолжение основной философии, шаблоны должны содержать минимум логики. Любая сложная обработка данных или запросы к БД должны происходить в Python-коде (во view или модели), а не в шаблоне.
    3. Стандартизация структуры проекта Книга активно продвигает стандартизированную, масштабируемую структуру проекта, которая впоследствии легла в основу популярного шаблона cookiecutter-django. Это включает разделение настроек для разных окружений (dev, prod) и вынесение их в отдельную директорию
    4. Безопасность настроек Авторы одними из первых начали широко пропагандировать хранение секретных ключей (SECRET_KEY, пароли от БД, API-ключи) вне системы контроля версий , используя переменные окружения или специальные файлы секретов.
    5. Избегание "магии" фреймворка Книга предостерегает от чрезмерного использования тех частей Django, которые делают код неявным и сложным для отладки. В частности, рекомендуется избегать злоупотребления сигналами (Signals) и не размещать логику представлений внутри URLconfs.

    Рецензии пользователей(взяты с Amazon):

    Все рецензии были переведены, если хочешь ознакомиться с оригиналом переходи по ссылке в источниках.
    [Источник] От John W Howard. Django — отличный фреймворк для веб-сайтов на Python, но он может быть невероятно сложным (что иронично, учитывая, насколько интуитивно понятен Python по сравнению с большинством других основных языков программирования). Ситуацию усугубляет то, что официальная документация часто бывает запутанной и неясной. Более того, большинство существующих книг по Django от сторонних авторов уже устарели, учитывая, как быстро развивается этот фреймворк. Вспомните, всего 5 лет назад Django был версии 1.2 — и с тех пор произошли огромные изменения, которые делают многие более ранние книги по Django, даже те, что охватывают версии до 1.5 и 1.6, запутанными и иногда даже опасными для использования. Эта новая версия «Two Scoops of Django» обновлена ​​для версии 1.8 (текущий релиз) и, что еще лучше, написана простым, понятным языком, с отличными примерами, фрагментами кода и полезными советами. Единственное предостережение: это не лучшая книга для полных новичков в Django — как ясно дают понять авторы, «Two Scoops» не претендует на роль базового учебника или всеобъемлющего руководства. Вместо этого это хорошо организованный сборник «лучших практик», извлеченных уроков, практических советов и обоснованных мнений. Тем не менее любому разработчику, который имеет базовое представление о фреймворке и планирует дальнейшую работу с Django, настоятельно рекомендуется добавить эту книгу в свою библиотеку.
    [Источник] От Sabina's Minion. Как программист-полиглот, немного знакомый с Python, эта книга — именно то, что мне было нужно. У меня была и предыдущая версия для Django 1.6, и я прочитал её от корки до корки. Когда вышла эта версия, я просто обязан был её приобрести. Эта книга не является учебником. Это справочник, или, точнее, руководство/справочное пособие. Она не будет тратить время на обучение основам Django — предполагается, что вы сможете освоить это самостоятельно. Вместо этого она сосредоточена на том, чтобы вывести вас за пределы уровня «я запустил "hello world" и создал приложение со списком дел, следуя инструкциям из учебника». Я считаю, что одна из самых сложных частей изучения новой технологии — это не сам язык или даже фреймворк. В конце концов, всегда можно просто прочитать документацию или поискать ответы на Stack Overflow. Самая сложная часть обычно заключается в понимании экосистемы инструментов, практик и парадигм. Эта книга как раз и посвящена этому. Более того, информация в книге изложена очень чётко и легко читается. Если вы уже знакомы с веб-разработкой и Python, обязательно приобретите эту книгу.

    The Temple of Django Database Performance

    Общая информация:

    Автор: Эндрю Брукинс
    Первая публикация: 2019г.
    Для кого: Профессионалы
    Это продвинутое руководство для Django-разработчиков, посвященное исключительно вопросам оптимизации производительности базы данных. Книга учит выходить за рамки простого использования ORM и глубоко анализировать, как именно выполняются запросы на уровне СУБД, как использовать EXPLAIN ANALYZE для поиска проблем и как применять продвинутые методы (такие, как сложные индексы, денормализация и "сырой" SQL) для создания высокопроизводительных приложений.

    Характеристика книги:

    1. Актуальность: Высокая. Хотя синтаксис Django ORM продолжает развиваться, фундаментальные принципы производительности баз данных (индексация, планы запросов, денормализация, блокировки) практически вечны. Методы профилирования и анализа (EXPLAIN ANALYZE), которым учит книга, остаются абсолютно актуальными и являются обязательными навыками для любого старшего (senior) Django-разработчика.
    2. Точность: Экспертная. Это одна из самых технически точных и глубоких книг по Django. Она написана экспертом для экспертов (или тех, кто хочет ими стать). Она с хирургической точностью разбирает, как ORM транслируется в SQL и как этот SQL выполняется PostgreSQL.
    3. Предназначение: Узкоспециализированное / Продвинутое. Назначение книги предельно четкое: научить опытных разработчиков Django диагностировать и устранять узкие места, связанные с производительностью базы данных. Это не книга для начинающих. Она предназначена для тех, кто уже создал приложение и столкнулся с тем, что оно "тормозит".
    4. Ясность и структура: Высокая. Структура книги логична и хорошо продумана. Она ведет читателя через "храм" знаний: от основ (измерение производительности) к "внутреннему святилищу" (продвинутые методы индексации, денормализация, материализованные представления).
    5. Стиль изложения: Технический, академичный, плотный. Стиль очень плотный, насыщенный техническими деталями. Он требует от читателя высокой концентрации и базовой подготовки в SQL и работе СУБД (в частности, PostgreSQL, на которой фокусируется книга). Это не легкое чтение, а серьезное учебное пособие.

    Главные особенности и инсайты книги:

    1. "Страдание опционально" (Misery is Optional): Это лейтмотив книги. Автор доказывает, что плохая производительность — это не неизбежное зло при использовании ORM, а результат недостаточного понимания того, как работают базы данных.
    2. Вы должны читать EXPLAIN ANALYZE: Главный инструмент, которому учит книга, — это EXPLAIN ANALYZE (для PostgreSQL). Автор настаивает, что невозможно оптимизировать запросы, не научившись читать их план выполнения.
    3. Думайте на SQL: Чтобы мастерски владеть Django ORM, вы должны понимать, в какой SQL-код он будет транслирован. Книга учит "думать на SQL", даже когда пишешь на Python.
    4. Мастерство индексации: Книга выходит далеко за рамки простого db_index=True. Она подробно разбирает, когда и зачем использовать частичные индексы (Partial Indexes), индексы по нескольким полям, индексы GIN/GiST и другие продвинутые возможности PostgreSQL.
    5. Прагматизм вместо догмы: Книга прагматично показывает, когда нужно "отпустить" ORM и использовать денормализацию, материализованные представления или "сырой" SQL (Raw()), чтобы добиться необходимой производительности.

    Рецензии пользователей(взяты с Amazon):

    [Источник] От John. Я использую Django уже несколько лет. Многие из предложенных в этой книге оптимизаций мне были знакомы, но не все. Если вы разрабатываете приложения на Django, особенно если используете PostgreSQL для своей СУБД, эта книга будет очень полезна!
    [Источник] От Hussain. Это действительно хорошая книга, помогающая разобраться во многих аспектах основ работы с базами данных и Django. В ней подробно и понятно изложены принципы работы и анализа, позволяющие находить и решать проблемы, связанные с базами данных. Также большое спасибо за время, потраченное на структурирование и расположение «историй». Возможно, это только моё мнение, но я не вижу связи между каждым из фантастических изображений/персонажей/фигур/предметов и функционалом Django/базы данных. Было бы неплохо, если бы автор указал на связь между ними, если таковая имеется. В начале книги автор обосновал существование фантастических изображений, но я не уловил этой связи.
    [Источник] От KT. Вы получите полезные знания и советы. Если вы уже некоторое время работаете с Django, запросы не покажутся вам чем-то новым, но всё же помогут вам глубже разобраться в теме. Некоторые примеры, представленные в книге, могут быть некорректными. Вам потребуется внести некоторые изменения в код проекта, чтобы самостоятельно разобраться в книге.

    Некоторые общие выводы и рекомендации по книгам

    Я рекомендую начать и закончить книгу - Django 5 by Examples. Как новичкам, так и профессионалам. Почему? Прелесть этой книги в том, что сложность там постепенно нарастает и первые главы сможет прочитать и осилить даже новичок. Как результат не только теория в голове, но и рабочий сайт на руках.
    Продолжая тему первой книги. Она, хоть и является почти что всеобъемлющей, не охватывает важнейший топик - тестирование. По этому можно после этой книги сразу приступить к чтению Test Driven Design with Python. Вот там тебе и покажут, как и зачем писать тесты.
    Остальные можешь читать в произвольном порядке. Вот столько я прочитал про Django, не супер много, но вполне достаточно для того, чтобы делать сайты. Я не сомневаюсь у тебя могут быть и другие книги, которые ты прочитал и считаешь, что их тоже стоит прочитать. Если так пиши в комментариях, обязательно ознакомлюсь.

    Про YouTube-плейлисты

    Хоть моё знакомство с Django и произошло на Ютубе, видео-формат обучения я не особо люблю. Конечно, это сугубо моё предпочтение и у тебя они могут быть совершенно иными нежели мои.
    Но я к чему, полистав немного ленту, я удивился как мало таких вот полноценных "гайдов"(ну или туториалов) может мне предоставить Ютуб. Я не успел перейти на другую страницу как они закончились. В Ру сегменте и того раньше. Но это так, простое замечание.
    Я знаю. Сделать серию видео про основы Django такие, как структрура, тестирование, отладка, развёртывание и т.д. гораздо тяжелее чем написать книгу.

    Рекомендуемые плейлисты для новичков

    Да, именно что для новичков, для более или менее профессионалов, там делать нечего. Базовая и общая информация, о которой можно прочитать на официальном сайте, загуглить или спросить ИИ. Но давай посмотрим что есть.
    Я уже упоминал плейлист данного автора в начале, благодаря которому и началось моё знакомство с Django. Но, как я понял он перевыпустил свой плейлист под новую(уже нет), 4-ю версию Django. Честно признаюсь, не смотрел перевыпущенную версию плейлиста, но точно могу порекомендовать данный плейлист и автора в качестве отличного начала изучения фреймворка Django 4 версии.
    Но есть нюанс. В этом плейлисте нет одного из самых важных этапов - деплоя на настоящий сервер. Данный этап можно изучить в его предыдущем плейлисте по Django 3. Будет ли продолжение? Сомневаюсь. На канале очень мало просмотров, да и актуальность Django версии 4 каждый месяц всё падает и падает.
    Вот в этом плейлисте можно изучить минимальную базу, но не более того. Плейлист по Django заброшен уже как несколько лет и не думаю, что автор сможет его завершить.
    Если хочется изучить базу Django, то можно посмотреть данный плейлист. Но опять же, автор давно забросил данный плейлист и по этому не жди его завершения (то есть части про деплой сайта на сервер не будет)
    Мне ещё понравился вот этот парень, очень всё красиво и понятно рассказывает. А главное, вполне свежее руководство. Но на английском.
    Вот в целом и всё. Конечно, на Ютубе есть очень много полезных видео. Довольно специфичных и нишевых. Есть, как я показал, плейлисты для новичков с базовой информацией. Но таких чтобы охватывали весь Django, там просто нет.

    Про сайты о Django

    Если хороших плейлистов мало, то сайтов с полной и всеобъемлющей программой ещё меньше. Причём это я говорю про сайты, которые могу быть полезны новичкам. Профессионалы ограничены лишь одной документацией, да парочкой книг.
    Но у сайтов есть одно неоспоримое преимущество перед видео-туториалами или книгами. Они всегда свежие, как минимум, документация. По этому, лет через десять, если не появятся новые книги, видео-туториалы или авторы, которые любят Django настолько, что готовы потратить уйму времени на создание всего выше перечисленного, у нас всегда будет сайт с официальной документацией.

    С чего новичку следует начать

    Но давай не будем забегать в будущее так далеко. Сейчас 2025 и если ты решил изучать Django по сайтам, то рекомендую начать изучение с этого сайта:
    Слушай, да я знаю, сайт для девочек, но туториал очень хорошо структурирован и написан. По этому не грех и им воспользоваться. Учитывая тот факт, что они покрывают создание Django-сайта от начала, до публикации на сервере. Вот официальный туториал на русском.
    После того как закончишь с туториалом для девочек, можешь ознакомиться с деталями создания Django приложения/сайта на официальном сайте.
    Можно ознакомиться с официальной документацией и закрепить топики, где у тебя есть пробелы в знаниях или понимании. Ещё можно ознакомиться с туториалом по созданию Django-приложений, который поможет узнать некоторые особенности и нюансы в создании переносимых-приложений.
    Увы русской версии данный сайт не поддерживает. Могу в качестве аналога посоветовать сайт django.fun
    На этом сайте ты сможешь найти всё то же самое, как и на официальном, с той лишь разницей, что оно будет на русском. Вот ссылка на туториал о создании переносимых Django-приложений
    Ну и последний сайт который я могу порекомендовать это сайт от "Mozilla Group". Они занимаются документацией существующих веб-технологий, проектов, фреймворков. 
    Сайт developer.mozilla.org
    Если тебе важны детали, и объяснения каждой возможной мелочи при создании своего первого или может быть второго приложения, то есть ты тот ещё педант, то тебе однозначно следует начать с этого туториала. Каждый этап создания сайта, представляет себой многометровое полотно. С подробнейшими объяснениями и примерами.

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

    Вот, собственно говоря, всё чем я хотел поделиться с тобой. И это всё, должно помочь тебе не делать тех ошибок, которые я совершил в своё время, и как результат, позволят тебе сэкономить уйму времени. Знаю, сейчас тебе это не кажется экономией времени. Одно прочтение книги Django 5 by Examples, чего стоит. Придётся потратить не одну неделю или месяц чтобы досконально её изучить. Но когда придёт время переписывать бэкенд сайта, ты вспомнишь меня и ту книгу, которую ты поленился почитать.
    Хотя, возможно оно и к лучшему. Так например, я очень долго не мог понять концепцию тестов в программировании. Типо, зачем писать ещё больше кода? У меня и так дефицит времени, ещё и на тесты его тратить? Но когда, твой сайт в очередной раз сломается, и казалось бы, там нечему ломаться. И ища уже третий день ошибку на "боевом" сервере и наконец сумев её найти, ты поймёшь - лучше бы я написал чёртовы тесты.
    В любом случае надеюсь статья была интересна и познавательна. И я смог ответить на вопрос: "Как и с чего начать делать сайты на Django?"


    Не забудь поделиться, лайкнуть и оставить комментарий)

    Комментарии

    (0)

    captcha
    Отправить
    ЗАГРУЗКА ...
    Сейчас тут пусто. Буть первым (o゚v゚)ノ