Django

Django
Django
Django logo.svg
Тип

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

Автор

Lawrence Journal-World

Написана на

Python

Интерфейс

веб-интерфейс

Операционная система

кроссплатформенное ПО

Языки интерфейса

русский и ещё 66 языков

Первый выпуск

2003[1]

Последняя версия

1.4.3 (17 октября 2012)

Состояние

активное

Лицензия

лицензия BSD

Сайт

www.djangoproject.com

Django (Джанго) — свободный фреймворк для веб-приложений на языке Python. Изначально проект был создан для управления новостными сайтами LJWorld.com, lawrence.com и KUsports.com, принадлежащими компании The World Company (Лоуренс, Канзас (en), США).

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

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

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

Содержание

Разработчики

  • Адриан Головатый (англ. Adrian Holovaty),
  • Саймон Виллисон (англ. Simon Willison),
  • Джекоб Каплан-Мосс (англ. Jacob Kaplan-Moss),
  • Вилсон Майнер (англ. Wilson Miner)

Разработчики заявляют, что не обязуются строго придерживаться какой бы то ни было методологии в развитии проекта, предпочитая делать то, что кажется им наиболее логичным.[3]

Архитектура

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

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

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

Джанго Рейнхардт — музыкант, в честь которого получил название фреймворк

Возможности

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

  • ORM, API доступа к БД с поддержкой транзакций[4]
  • встроенный интерфейс администратора,[5] с уже имеющимися переводами на многие языки
  • диспетчер URL на основе регулярных выражений[6]
  • расширяемая система шаблонов с тегами и наследованием[7]
  • система кеширования[8]
  • интернационализация[9]
  • подключаемая архитектура приложений, которые можно устанавливать на любые Django-сайты
  • «generic views» — шаблоны функций контроллеров
  • авторизация и аутентификация, подключение внешних модулей аутентификации: LDAP, OpenID и проч.
  • система фильтров («middleware») для построения дополнительных обработчиков запросов, как например включённые в дистрибутив фильтры для кеширования, сжатия, нормализации URL и поддержки анонимных сессий
  • библиотека для работы с формами (наследование, построение форм по существующей модели БД)
  • встроенная автоматическая документация по тегам шаблонов и моделям данных, доступная через административное приложение

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

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

Решения

На базе Django разработан ряд готовых решений со свободной лицензией[10], среди которых интернет-магазины, системы управления содержанием, а также более узконаправленные проекты.

Конфигурация сервера

Django проектировался для работы под управлением Apache с модулем mod python и с использованием PostgreSQL в качестве базы данных.

С включением поддержки WSGI, Django может работать под управлением FastCGI, mod wsgi или SCGI на Apache и других серверах (lighttpd, nginx,…).

В настоящее время, помимо базы данных PostgreSQL, Django может работать с другими СУБД: MySQL, SQLite, Microsoft SQL Server, DB2, Firebird, SQL Anywhere и Oracle.

В составе Django присутствует собственный веб-сервер для разработки. Сервер автоматически определяет изменения в файлах исходного кода проекта и перезапускается, что ускоряет процесс разработки на Python. Но при этом он работает в однопоточном режиме и пригоден только для процесса разработки и отладки приложения.

Django на хостинге Google

Платформа Google App Engine имеет в своём составе ограниченную версию Django. [11]

Существует версия Django-nonrel адаптированная для работы с не реляционными хранилищами данных, которая позволяет полноценно (насколько это возможно технически) использовать Django на платформе Google App Engine. А подключаемое приложение django-dbindexer позволяет даже эмулировать JOIN в нереляционных хранилищах данных.

Хостинг для Django

На данный момент Django только набирает обороты и хостингов с его специализированной поддержкой не так много. Среди существующих предложений можно выделить webfaction.com, Hosting4Django.net и RX-NAME.ua, как русскоязычный хостинг.

Основные крупные хостинг-провайдеры

Хостинг-провайдер Локация Тип хостинга
RX-NAME.ua Украина Обычный хостинг
Django подключается как WCGI
webfaction.com США По запросу в поддержку
Hosting4Django.net Германия Автомат
TimeWeb.ru Россия Django подключается как WSGI

Примечания

Литература

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Полезное


Смотреть что такое "Django" в других словарях:

  • Django — Saltar a navegación, búsqueda Para otros usos de este término, véase Django (desambiguación). Django Desarrollador Django Software Foundation …   Wikipedia Español

  • Django d'Or — Sommaire 1 Historique 2 Les Django d Or 3 Les Django d Or Européens 4 Les Eurodjango 5 …   Wikipédia en Français

  • Django — may refer to: Contents 1 Music 2 Film 3 Technology 4 …   Wikipedia

  • Django d’Or — ist der Name folgender Jazzpreise: Django d’Or (Frankreich), erstmals 1992 Django d’Or (Belgien), erstmals 1995 Django d’Or (Schweden), erstmals 1998 Django d’Or (Italien), erstmals 1999 Django d’Or (Dänemark), erstmals 2001 …   Deutsch Wikipedia

  • Django —    Western de Sergio Corbucci, avec Franco Nero, Loredana Nusciak, José Bodalo.   Pays: Italie et Espagne   Date de sortie: 1966   Technique: couleurs   Durée: 1 h 30    Résumé    Deux bandes rivales terrorisent un village près de la frontière… …   Dictionnaire mondial des Films

  • Django d'or — Le Django d or est un trophée remis lors d une cérémonie du même nom, récompensant des artistes du monde du Jazz. Sommaire 1 Historique 2 Les Django d or 3 Les Django d or européens 4 …   Wikipédia en Français

  • Django — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Django est un terme romani signifiant je m éveille. C était le surnom du joueur de guitare Django Reinhardt. Django Reinhardt a donné son prénom à :… …   Wikipédia en Français

  • Django — Filmdaten Deutscher Titel Django – Die Geier stehen Schlange Originaltitel 7 Dollari sul rosso …   Deutsch Wikipedia

  • Django 2 — Pour les articles homonymes, voir Django. Django 2 est un western spaghetti réalisé par Nello Rossati en 1987. C est la suite de Django (réalisé en 1966). Synopsis Au Mexique, arrive Django (Franco Nero), le cavalier solitaire devenu moine qui… …   Wikipédia en Français

  • Django — Jean (Django) Reinhardt …   Eponyms, nicknames, and geographical games


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»