четверг, 13 сентября 2012 г.

Django Python

Django Python - это фреймворк, предназначенный для быстрого и легкого создания веб-приложений на языке Python. Изначально Django CMS была создана для управления новостными сайтами LJWorld.com, lawrence.com и KUsports.com, принадлежащими компании The World Company. На базе Django разработан ряд готовых решений со свободной лицензией, среди которых интернет-магазины, системы управления содержанием, а также более узконаправленные проекты.

Сайт на Django CMS строится из одного или нескольких приложений, которые рекомендуется делать отчуждаемыми и подключаемыми.

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

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

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

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

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

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

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

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

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

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

Комментариев нет:

Отправить комментарий