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