HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <ul><li><a>Определение</a></li>
1 <ul><li><a>Определение</a></li>
2 <li><a>Базовая структура</a></li>
2 <li><a>Базовая структура</a></li>
3 <li><a>Принцип работы</a><ul><li><a>Модель MVC</a></li>
3 <li><a>Принцип работы</a><ul><li><a>Модель MVC</a></li>
4 <li><a>Модель DRY</a></li>
4 <li><a>Модель DRY</a></li>
5 </ul></li>
5 </ul></li>
6 <li><a>Преимущества и недостатки</a></li>
6 <li><a>Преимущества и недостатки</a></li>
7 </ul><p>Python - популярный язык программирования, который легко изучать и использовать как основное средство разработки, так и в качестве дополнительного инструмента в особо крупных проектах. Он поддерживает множество библиотек и фреймворков, позволяющих более быстро писать программные коды. Одним из наиболее известных средств программирования в Python является Django.</p>
7 </ul><p>Python - популярный язык программирования, который легко изучать и использовать как основное средство разработки, так и в качестве дополнительного инструмента в особо крупных проектах. Он поддерживает множество библиотек и фреймворков, позволяющих более быстро писать программные коды. Одним из наиболее известных средств программирования в Python является Django.</p>
8 <p>Далее предстоит познакомиться с этим фреймворком получше. Необходимо понять, что он собой представляет, для каких именно целей используется, какими преимуществами и недостатками обладает. Все это - основы, которые нужно знать перед активным применением рассматриваемого инструмента. Представленная ниже информация рассчитана на широкий круг лиц. Она подойдет для изучения как тем, кто выбрал программирование для работы, так и обычным ПК-пользователям для понимания основ разработки на Python при помощи Django framework.</p>
8 <p>Далее предстоит познакомиться с этим фреймворком получше. Необходимо понять, что он собой представляет, для каких именно целей используется, какими преимуществами и недостатками обладает. Все это - основы, которые нужно знать перед активным применением рассматриваемого инструмента. Представленная ниже информация рассчитана на широкий круг лиц. Она подойдет для изучения как тем, кто выбрал программирование для работы, так и обычным ПК-пользователям для понимания основ разработки на Python при помощи Django framework.</p>
9 <h2>Определение</h2>
9 <h2>Определение</h2>
10 <p>Google указывает на то, что Django (Джанго) - это фреймворк для разработки быстрых и безопасных сайтов, а также веб-приложений на языке Python. Он является свободным. В своей работе, согласно Google, использует шаблон проектирования MVC. На данный момент поддерживается компанией Django Software Foundation.</p>
10 <p>Google указывает на то, что Django (Джанго) - это фреймворк для разработки быстрых и безопасных сайтов, а также веб-приложений на языке Python. Он является свободным. В своей работе, согласно Google, использует шаблон проектирования MVC. На данный момент поддерживается компанией Django Software Foundation.</p>
11 <p>Джанго - это специальный инструмент разработчика. Фреймворком он называется из-за того, что предоставляет готовые инструменты и правила работы с веб-страницами. Google утверждает, что Джанго используется для упрощения разработки. Он включает в себя готовые компоненты и функциональные возможности.</p>
11 <p>Джанго - это специальный инструмент разработчика. Фреймворком он называется из-за того, что предоставляет готовые инструменты и правила работы с веб-страницами. Google утверждает, что Джанго используется для упрощения разработки. Он включает в себя готовые компоненты и функциональные возможности.</p>
12 <p>Согласно Google, Django был создан в 2003-2005 годах. Его разработчиками стали Адриан Головатый и Саймон Уиллисон. Фреймворк получил свое название в честь Джанго Рейнхардта - французского гитариста-виртуоза. Первая версия проекта была опубликована в 2005 году. С тех пор обновления, согласно Google, выходят 1-2 раза в год. Это позволяет инструменту Python оставаться актуальным и предлагать необходимые программистам готовые решения по веб-разработке.</p>
12 <p>Согласно Google, Django был создан в 2003-2005 годах. Его разработчиками стали Адриан Головатый и Саймон Уиллисон. Фреймворк получил свое название в честь Джанго Рейнхардта - французского гитариста-виртуоза. Первая версия проекта была опубликована в 2005 году. С тех пор обновления, согласно Google, выходят 1-2 раза в год. Это позволяет инструменту Python оставаться актуальным и предлагать необходимые программистам готовые решения по веб-разработке.</p>
13 <h2>Базовая структура</h2>
13 <h2>Базовая структура</h2>
14 <p>Изучая основы Django, необходимо понять, что он в себя включает. Google выделяет следующие ключевые элементы:</p>
14 <p>Изучая основы Django, необходимо понять, что он в себя включает. Google выделяет следующие ключевые элементы:</p>
15 <ol><li>URL-маршрутизаторы. Они необходимы для перенаправления HTTP-запросов от браузеров или других веб-клиентов в представления.</li>
15 <ol><li>URL-маршрутизаторы. Они необходимы для перенаправления HTTP-запросов от браузеров или других веб-клиентов в представления.</li>
16 <li>Представление. Этот компонент занимается обработкой запросов, обращается к моделям и сообщает им, какие именно сведения из базы данных нужно использовать для удовлетворения запросов.</li>
16 <li>Представление. Этот компонент занимается обработкой запросов, обращается к моделям и сообщает им, какие именно сведения из базы данных нужно использовать для удовлетворения запросов.</li>
17 <li>Модель. Так называется менеджер базы данных или ORM. Она "вытаскивает" необходимую информацию из БД и передает ее представлению.</li>
17 <li>Модель. Так называется менеджер базы данных или ORM. Она "вытаскивает" необходимую информацию из БД и передает ее представлению.</li>
18 <li>HTML-шаблоны. Эти составляющие будут использоваться представлением, чтобы демонстрировать пользователям полученные от модели данные.</li>
18 <li>HTML-шаблоны. Эти составляющие будут использоваться представлением, чтобы демонстрировать пользователям полученные от модели данные.</li>
19 </ol><p>Google отмечает, что структура рассматриваемого фреймворка включает в себя узкоспециализированные модули и функции. К их числу относят:</p>
19 </ol><p>Google отмечает, что структура рассматриваемого фреймворка включает в себя узкоспециализированные модули и функции. К их числу относят:</p>
20 <ul><li>веб-сервер для тестирования и разработки программного проекта;</li>
20 <ul><li>веб-сервер для тестирования и разработки программного проекта;</li>
21 <li>встроенный диспетчер для обмена событиями между элементами программного обеспечения за счет установленных сигналов;</li>
21 <li>встроенный диспетчер для обмена событиями между элементами программного обеспечения за счет установленных сигналов;</li>
22 <li>систему интернационализации, которая адаптирует Django под различные языковые и культурные регионы;</li>
22 <li>систему интернационализации, которая адаптирует Django под различные языковые и культурные регионы;</li>
23 <li>встроенные модули аутентификации и авторизации и функции подключения аналогичных внешних блоков;</li>
23 <li>встроенные модули аутентификации и авторизации и функции подключения аналогичных внешних блоков;</li>
24 <li>фильтры дополнительной обработки запросов: кеширования, перенаправления, сжатия и так далее;</li>
24 <li>фильтры дополнительной обработки запросов: кеширования, перенаправления, сжатия и так далее;</li>
25 <li>интерфейс администратора для редактирования, добавления и удаления содержимого сайта/программы;</li>
25 <li>интерфейс администратора для редактирования, добавления и удаления содержимого сайта/программы;</li>
26 <li>интерфейс внутренней платформы тестирования Python;</li>
26 <li>интерфейс внутренней платформы тестирования Python;</li>
27 <li>инструменты комментирования;</li>
27 <li>инструменты комментирования;</li>
28 <li>модуль защиты от межсайтовых скриптов, взломов паролей и иных распространенных видов сетевых атак.</li>
28 <li>модуль защиты от межсайтовых скриптов, взломов паролей и иных распространенных видов сетевых атак.</li>
29 </ul><p>Google отмечает, что Джанго можно расширить за счет внешних программных пакетов. Это позволяет обеспечить фреймворку большую функциональность.</p>
29 </ul><p>Google отмечает, что Джанго можно расширить за счет внешних программных пакетов. Это позволяет обеспечить фреймворку большую функциональность.</p>
30 <h2>Принцип работы</h2>
30 <h2>Принцип работы</h2>
31 <p>Django, как и любой другой фреймворк, представляет собой программную платформу (каркас), на который разработчик "навешивает" дополнительные элементы программного проекта. К ним можно отнести:</p>
31 <p>Django, как и любой другой фреймворк, представляет собой программную платформу (каркас), на который разработчик "навешивает" дополнительные элементы программного проекта. К ним можно отнести:</p>
32 <ul><li>пользовательский интерфейс;</li>
32 <ul><li>пользовательский интерфейс;</li>
33 <li>сценарии работы компонентов программы или сайта;</li>
33 <li>сценарии работы компонентов программы или сайта;</li>
34 <li>разнообразные библиотеки;</li>
34 <li>разнообразные библиотеки;</li>
35 <li>мультимедийный контент (видео, фото, аудио);</li>
35 <li>мультимедийный контент (видео, фото, аудио);</li>
36 <li>базы данных;</li>
36 <li>базы данных;</li>
37 <li>модули безопасности.</li>
37 <li>модули безопасности.</li>
38 </ul><p>Фреймворк отвечает за базовые аспекты работы проекта. Подключаемые (сменные) модули - за специфичные функции конкретного программного продукта.</p>
38 </ul><p>Фреймворк отвечает за базовые аспекты работы проекта. Подключаемые (сменные) модули - за специфичные функции конкретного программного продукта.</p>
39 <p>За счет фреймворков, согласно Google, удается:</p>
39 <p>За счет фреймворков, согласно Google, удается:</p>
40 <ul><li>сделать процедуру разработки более быстрой;</li>
40 <ul><li>сделать процедуру разработки более быстрой;</li>
41 <li>упростить поддержку сайтов и веб-приложений;</li>
41 <li>упростить поддержку сайтов и веб-приложений;</li>
42 <li>свести к минимуму вероятность возникновения ошибок в работе проекта.</li>
42 <li>свести к минимуму вероятность возникновения ошибок в работе проекта.</li>
43 </ul><p>Джанго позволяет создавать красивые интерактивные страницы в Интернете, облегчает работу с базами данных и помогает обрабатывать запросы. Чтобы лучше понять принципы функционирования фреймворка, стоит изучить несколько способов организации программных кодов.</p>
43 </ul><p>Джанго позволяет создавать красивые интерактивные страницы в Интернете, облегчает работу с базами данных и помогает обрабатывать запросы. Чтобы лучше понять принципы функционирования фреймворка, стоит изучить несколько способов организации программных кодов.</p>
44 <h3>Модель MVC</h3>
44 <h3>Модель MVC</h3>
45 <p>MVC - модель "Модель-представление-контроллер". Она является основой Джанго. Здесь:</p>
45 <p>MVC - модель "Модель-представление-контроллер". Она является основой Джанго. Здесь:</p>
46 <ol><li>Модель - это бизнес-логика. Так называется совокупность правил и принципов, а также ограничений работы с имеющейся информацией.</li>
46 <ol><li>Модель - это бизнес-логика. Так называется совокупность правил и принципов, а также ограничений работы с имеющейся информацией.</li>
47 <li>Представление - элемент, отображающий пользователю ту или иную информацию в зависимости от того, как меняется модель.</li>
47 <li>Представление - элемент, отображающий пользователю ту или иную информацию в зависимости от того, как меняется модель.</li>
48 <li>Контроллер - выступает в качестве своеобразного программного посредника. Он обрабатывает пользовательские действия, после чего сообщает модели, как она должна измениться.</li>
48 <li>Контроллер - выступает в качестве своеобразного программного посредника. Он обрабатывает пользовательские действия, после чего сообщает модели, как она должна измениться.</li>
49 </ol><p>Google подчеркивает, что контроллер классической MVC-модели примерно соответствует уровню, который Django называет представлением. Презентационная логика представления реализуется в рассматриваемом шаблоне через уровень шаблонов. Из-за этого Google часто называет архитектуру Джанго MTV ("Модель-шаблон-представление). В ней:</p>
49 </ol><p>Google подчеркивает, что контроллер классической MVC-модели примерно соответствует уровню, который Django называет представлением. Презентационная логика представления реализуется в рассматриваемом шаблоне через уровень шаблонов. Из-за этого Google часто называет архитектуру Джанго MTV ("Модель-шаблон-представление). В ней:</p>
50 <ul><li>модель отвечает за работу с данными;</li>
50 <ul><li>модель отвечает за работу с данными;</li>
51 <li>шаблоны будут определять принципы отображения информации;</li>
51 <li>шаблоны будут определять принципы отображения информации;</li>
52 <li>представление используется для описания того, какие именно данные будут демонстрироваться пользователям.</li>
52 <li>представление используется для описания того, какие именно данные будут демонстрироваться пользователям.</li>
53 </ul><p>Соответствующий принцип повторяет MVC, поэтому Django называется MVC-совместимой платформой.</p>
53 </ul><p>Соответствующий принцип повторяет MVC, поэтому Django называется MVC-совместимой платформой.</p>
54 <h3>Модель DRY</h3>
54 <h3>Модель DRY</h3>
55 <p>Модель DRY переводится как "Не повторяйся". Для реализации аналогичных и схожих задач используются одни и те же кодовые компоненты. Они не пишутся из раза в раз с нуля. За счет этого программисты могут избежать дублирования, негативно сказывающегося на исходном коде и увеличивающее размер приложения.</p>
55 <p>Модель DRY переводится как "Не повторяйся". Для реализации аналогичных и схожих задач используются одни и те же кодовые компоненты. Они не пишутся из раза в раз с нуля. За счет этого программисты могут избежать дублирования, негативно сказывающегося на исходном коде и увеличивающее размер приложения.</p>
56 <p>Применение модели DRY упрощает разработку и поддержку программного проекта. Также разработчик может модифицировать определенный модуль без внесения изменений в другие программные блоки. Итоговый проект останется функциональным.</p>
56 <p>Применение модели DRY упрощает разработку и поддержку программного проекта. Также разработчик может модифицировать определенный модуль без внесения изменений в другие программные блоки. Итоговый проект останется функциональным.</p>
57 <h2>Преимущества и недостатки</h2>
57 <h2>Преимущества и недостатки</h2>
58 <p>Google отмечает, что сделать сайт на Джанго сможет как опытный разработчик, так и новичок. Этот фреймворк имеет ряд преимуществ и недостатков. К его сильным сторонам относят:</p>
58 <p>Google отмечает, что сделать сайт на Джанго сможет как опытный разработчик, так и новичок. Этот фреймворк имеет ряд преимуществ и недостатков. К его сильным сторонам относят:</p>
59 <ol><li>Полноту. Инструмент создан по принципу "Все включено". С помощью Django, согласно Google, программист сможет написать веб-приложение, не привлекая сторонние элементы.</li>
59 <ol><li>Полноту. Инструмент создан по принципу "Все включено". С помощью Django, согласно Google, программист сможет написать веб-приложение, не привлекая сторонние элементы.</li>
60 <li>Универсальность. Рассматриваемый инструмент подойдет для написания сайтов и приложений любого типа. Он способен работать с самыми разными типами файлов, базами данных, клиентскими средами.</li>
60 <li>Универсальность. Рассматриваемый инструмент подойдет для написания сайтов и приложений любого типа. Он способен работать с самыми разными типами файлов, базами данных, клиентскими средами.</li>
61 <li>Высокий уровень надежности.</li>
61 <li>Высокий уровень надежности.</li>
62 <li>Масштабируемость. Архитектура Джанго базируется на независимости составляющих частей. Любой компонент может быть изменен или модифицирован, не затрагивая другие элементы.</li>
62 <li>Масштабируемость. Архитектура Джанго базируется на независимости составляющих частей. Любой компонент может быть изменен или модифицирован, не затрагивая другие элементы.</li>
63 <li>Сопровождаемость. Исходный код, полученный при помощи Django, может группировать связанные функции в отдельные модули. Их допустимо использовать в будущем в схожих проектах.</li>
63 <li>Сопровождаемость. Исходный код, полученный при помощи Django, может группировать связанные функции в отдельные модули. Их допустимо использовать в будущем в схожих проектах.</li>
64 <li>Переносимость. Изучаемый инструмент работает на самых распространенных платформах: Windows, macOS, Linux.</li>
64 <li>Переносимость. Изучаемый инструмент работает на самых распространенных платформах: Windows, macOS, Linux.</li>
65 <li>Открытость. Google сообщает, что Django - это открытый фреймворк. Соответствующий инструмент может быть использован абсолютно любым разработчиком даже для коммерческих целей.</li>
65 <li>Открытость. Google сообщает, что Django - это открытый фреймворк. Соответствующий инструмент может быть использован абсолютно любым разработчиком даже для коммерческих целей.</li>
66 <li>Гибкость. Джанго - это "умеренно гибкий" фреймворк. Он представляет несколько решений для одной задачи, а также пару подходов к их использованию.</li>
66 <li>Гибкость. Джанго - это "умеренно гибкий" фреймворк. Он представляет несколько решений для одной задачи, а также пару подходов к их использованию.</li>
67 </ol><p>Недостатки у изучаемого инструмента тоже есть. Google относит к ним:</p>
67 </ol><p>Недостатки у изучаемого инструмента тоже есть. Google относит к ним:</p>
68 <ol><li>Монолитную архитектуру. Проект развивается как единый и самодостаточный комплекс инструментов программиста. Этот прием дает возможность создавать даже крупные проекты, но развитие Джанго нельзя назвать стремительным.</li>
68 <ol><li>Монолитную архитектуру. Проект развивается как единый и самодостаточный комплекс инструментов программиста. Этот прием дает возможность создавать даже крупные проекты, но развитие Джанго нельзя назвать стремительным.</li>
69 <li>Устаревший ORM.</li>
69 <li>Устаревший ORM.</li>
70 <li>Отсутствие многозадачности. С несколькими запросами одновременно в проектах с Django работать не получится.</li>
70 <li>Отсутствие многозадачности. С несколькими запросами одновременно в проектах с Django работать не получится.</li>
71 <li>Шаблон URL-маршрутизации. Он базируется на использовании регулярных выражений, с помощью которых задаются правила и принципы поиска. Соответствующий механизм работает исправно, но его достаточно трудно настраивать, особенно новичкам.</li>
71 <li>Шаблон URL-маршрутизации. Он базируется на использовании регулярных выражений, с помощью которых задаются правила и принципы поиска. Соответствующий механизм работает исправно, но его достаточно трудно настраивать, особенно новичкам.</li>
72 </ol><p>Лучше изучить Python и Django помогут дистанционные компьютерные курсы. Они рассчитаны на срок от нескольких месяцев до года (в зависимости от выбранной программы), сопровождаются богатой практикой и помощью в формировании портфолио. В конце каждого успешно завершенного курса человек получит электронный сертификат, подтверждающий приобретенные знания и навыки.</p>
72 </ol><p>Лучше изучить Python и Django помогут дистанционные компьютерные курсы. Они рассчитаны на срок от нескольких месяцев до года (в зависимости от выбранной программы), сопровождаются богатой практикой и помощью в формировании портфолио. В конце каждого успешно завершенного курса человек получит электронный сертификат, подтверждающий приобретенные знания и навыки.</p>
73 <p>Интересует <a>Python</a>? Добро пожаловать на курс в Otus!</p>
73 <p>Интересует <a>Python</a>? Добро пожаловать на курс в Otus!</p>
74  
74