Веб-фреймворк Django

Django — свободный фреймворк для веб-приложений на языке Python, использующий шаблон проектирования MVC. Архитектура и основные компоненты приложения. Главные компоненты среды разработки Django. Некоторые возможности и взаимосвязь компонентов фреймворка.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 18.01.2015
Размер файла 23,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ

(национальный исследовательский университет)

Факультет №3 «Системы управления,

информатика и электроэнергетика»

Кафедра №308 «Информационные технологии»

Реферат по теме

«Веб-фреймворк Django»

Выполнил студент группы 03-618:

Тимошкин С.А.

Проверил:

Гридин А.Н.

Москва, 2014

Введение

Django -- свободный фреймворк для веб-приложений на языке Python, использующий шаблон проектирования MVC. Проект поддерживается организацией Django Software Foundation.

Сайт на Django строится из одного или нескольких приложений, которые рекомендуется делать отчуждаемыми и подключаемыми. Это одно из существенных архитектурных отличий этого фреймворка от некоторых других (например, Ruby on Rails). Один из основных принципов фреймворка -- DRY. Это принцип разработки программного обеспечения, нацеленный на снижение повторения информации различного рода, особенно в системах со множеством слоёв абстрагирования.

Также, в отличие от других фреймворков, обработчики URL в Django конфигурируются явно при помощи регулярных выражений, а не выводятся автоматически из структуры моделей контроллеров.

Для работы с базой данных Django использует собственный ORM, в котором модель данных описывается классами Python, и по ней генерируется схема базы данных.

Проект Django представляет собой настраиваемую пользователем среду разработки. Он берёт начало из Web-сайта одной онлайн-газеты и был выпущен как система с открытым исходным кодом в июле 2005 года. Главные компоненты среды разработки Django следующие:

? Объектно-реляционное отображение (object-relational mapping) для создания моделей;

? Безупречный интерфейс администратора, специально созданный для конечных пользователей;

? Элегантно спроектированный механизм адресования (URL);

? Язык шаблонов, для дизайнеров;

? Система кэширования;

фреймворк приложение проектирование разработка

Использование

Веб-фреймворк Django используется в таких крупных и известных сайтах, как Instagram, Disqus, Mozilla The Washington Times, Pinterest и др.

Также Django используется в качестве веб-компонента в различных проектах, таких как Graphite -- система построения графиков и мониторинга, FreeNAS -- свободная реализация системы хранения и обмена файлами и др

Архитектура

Архитектура Django похожа на «Модель-Представление-Контроллер» (MVC). Контроллер классической модели MVC примерно соответствует уровню, который в Django называется Представление (англ. View), а презентационная логика Представления реализуется в Django уровнем Шаблонов (англ. Template). Из-за этого уровневую архитектуру Django часто называют «Модель-Шаблон-Представление» (MTV).

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

Django-приложение состоит из четырех основных компонентов.

1. Модель данных: данные являются сердцевиной любого современного Web-приложения. Модель - важнейшая часть приложения, которое постоянно обращается к данным при любом запросе из любой сессии. Любая модель является стандартным Python классом. Объектно-ориентированный маппер (ORM) обеспечивает таким классам доступ непосредственно к базам данных. Если бы не было ORM, программисту пришлось бы писать запросы непосредственно на SQL. Модель обеспечивает облегченный механизм доступа к слою данных, инкапсулирует бизнес-логику. Модель не зависит от конкретного приложения. Данными можно манипулировать даже из командной строки, не используя при этом Web-сервер.

2. Представление (view): выполняют разнообразные функции, в том числе контролируют запросы пользователя, выдают контекст в зависимости от его роли. View - это обычная функция, которая вызывается в ответ на запрос какого-то адреса (URL) и возвращает контекст.

3. Шаблоны: являются формой представления данных. Шаблоны имеют свой собственный простой метаязык и являются одним из основных средств вывода на экран.

4. URL: механизм внешнего доступа к представлениям (view). Встроенные в URL регулярные выражения делают механизм достаточно гибким. При этом одно представление может быть сконфигурировано к нескольким урлам, предоставляя доступ различным приложениям. Здесь поддерживается философия закладок: URL становятся самодостаточными и начинают жить независимо от представления.

В дистрибутив Django также включены приложения для системы комментариев, синдикации RSS и Atom, «статических страниц» (которыми можно управлять без необходимости писать контроллеры и представления), перенаправления URL и другое.

Возможности

Некоторые возможности Django:

? ORM, API доступа к БД с поддержкой транзакций;

? Встроенный интерфейс администратора, с уже имеющимися переводами на многие языки;

? Диспетчер URL на основе регулярных выражений;

? Расширяемая система шаблонов с тегами и наследованием;

? Система кеширования;

? Интернационализация;

? Подключаемая архитектура приложений, которые можно устанавливать на любые Django-сайты;

? «generic views» -- шаблоны функций контроллеров;

? Авторизация и аутентификация, подключение внешних модулей аутентификации: LDAP, OpenID и проч.;

? Система фильтров («middleware») для построения дополнительных обработчиков запросов, как например включённые в дистрибутив фильтры для кеширования, сжатия, нормализации URL и поддержки анонимных сессий;

? Библиотека для работы с формами (наследование, построение форм по существующей модели БД);

? Встроенная автоматическая документация по тегам шаблонов и моделям данных, доступная через административное приложение;

Некоторые компоненты фреймворка между собой связаны слабо, поэтому их можно достаточно просто заменять на аналогичные. Например, вместо встроенных шаблонов можно использовать Mako (англ.) или Jinja.

В то же время заменять ряд компонентов (например, ORM) довольно сложно.

Список использованной литературы

? Джефф Форсье, Django. Разработка приложений на Python.

? http://ru.wikipedia.org/wiki/Django

? http://djbook.ru/

Размещено на Allbest.ru


Подобные документы

  • Компоненты приложения Vue.js, использование шаблона MVVM. Характеристика Webpack и фреймворка NuxtJs. Python как язык программирования, модель MVC, компоненты и инструментарий фреймворка Django. Технология программирования Object Relational Mapping.

    контрольная работа [296,4 K], добавлен 22.03.2017

  • Use case-диаграмма. Оценка трудоёмкости и сроков разработки проекта с использованием языка Python по методикам CETIN И COCOMO-II. Проектирование информационной системы. Разработка приложения с использованием Django: создание шаблонов, моделей и пр.

    дипломная работа [1,3 M], добавлен 10.07.2017

  • Технологии, используемые на стороне сервера: язык python, фреймворк Django, ORM, MVC, JSON, MySQL, веб-сервер Nginx, операционная система Linux. Разработка online хранилища данных. Программная реализация предметной области. Шаблоны вывода данных.

    дипломная работа [123,3 K], добавлен 25.04.2015

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

    курсовая работа [1,9 M], добавлен 09.09.2015

  • Вопросы реализации шаблона типового сайта диссертационного совета СевКавГТУ. Разработка базы данных для шаблона сайта с помощью фреймворка Django и Aptana Studio 3. Обоснование требований к техническому обеспечению. Расчет цены программного продукта.

    дипломная работа [2,5 M], добавлен 26.09.2012

  • Анализ создания виртуального окружения для разработки. Установка фреймворка Flask. Особенность настройки аутентификации и привилегий. Создание Python-файла и написание в нем простого веб-приложения. Запуск и проверка работоспособности приложения.

    лабораторная работа [2,1 M], добавлен 28.11.2021

  • Анализ корпоративных сетей, определение их преимуществ и недостатков: ASmallWorld, Decayenne и Evrika. Структура web-приложения, методика и принципы его разработки, оценка практической эффективности. База данных и административная, логическая часть.

    дипломная работа [837,6 K], добавлен 03.02.2015

  • Разработка интерактивных сервисов доступа к расписанию занятий СевКавГТУ в среде программирования Eclipse и базы данных для них с использованием фреймворк Django. Информационное и программное обеспечение разработки. Расчет цены программного продукта.

    дипломная работа [6,1 M], добавлен 29.06.2011

  • Случаи использования PHP фреймворка. Обзор современных фреймворков. Выбор фреймворка для разработки сайта. Поддержка баз данных и сообщества. Model View Controller архитектура. Скорость развития фреймворка. Наличие встроенных javascript-библиотек.

    курсовая работа [1,8 M], добавлен 31.05.2012

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

    реферат [51,9 K], добавлен 18.01.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.