Джанго что это за программа

Какие задачи решаем с помощью Django, веб-фреймворка на Python

Python — это универсальный язык программирования с простым синтаксисом и огромным комьюнити. С его помощью можно решать задачи разного масштаба — от создания ботов до разработки приложений, веб-сайтов и даже машинного обучения.

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

Технология

Python-фреймворк Django

Какие задачи решает

— Создание сервисов обработки данных

— Создание веб-приложений, социальных сетей и веб-чатов

— Разработка различных видов API

— Создание сервисов CMS, CRM, email-рассылок

Каким компаниям подойдет

E-commerce, обучающие платформы, аналитические центры, информационные и новостные ресурсы, сервисы управления рассылками, социальные сети, стартапы

Преимущества

Быстрая разработка, возможность легко вносить изменения в функции систем и масштабировать проекты, высокий уровень безопасности, стабильность работы сервисов

Почему выбираем Django

Django — популярный и многофункциональный фреймворк для веб-приложений, а также набор библиотек: компонентов, модулей, утилит и готовых решений на языке Python. На Django написаны Pinterest, Instagram, Dropbox, Bitbucket, Mozilla Firefox, Discovery.

Приветственная страница нового проекта на Django

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

На Django можно создать и сайт полностью. Встроенный шаблонизатор и методы для генерации HTML-страниц позволяют писать фронтенд для простых сайтов. Для средних и крупных проектов с динамическим контентом возможностей Django недостаточно, поэтому этот фреймворк применяется в качестве бэкенда, а фронтенд разрабатывают на базе React, Angular или Vue.

Основное преимущество Django — быстрая разработка. Фреймворк не требует много времени на настройку конфигурации, позволяет программисту быстро создать MVP — тестовую версию продукта с базовым набором функций. Это нужно, чтобы проверить идею до того, как в нее будут вложены большие деньги. Подробнее — в статье «MVP: как проверить бизнес-гипотезу и получить финансирование».

Если реализация понравится заказчику и целевой аудитории, проект можно будет доработать в соответствии с подробным ТЗ. Для этого потребуется внести изменения в код и прописать нужные настройки.

Программист создает нужные функции и с помощью административной панели Django admin управляет моделями — объектами, которые описывают хранящиеся в БД сущности

Для каких задач используем Django в проектах

Написать API

На Django можно реализовать API — механизм обмена данными. Приложения, сайты и другие сервисы постоянно запрашивают и отправляют друг другу информацию через этот протокол. Благодаря API продавцы проводят онлайн-транзакции, биржи показывают актуальные курсы валют, агрегаторы по продаже билетов — данные с сайтов авиакомпаний.

Работает это так: например, пользователь просматривает карточку товара в интернет-магазине и хочет знать, сколько штук осталось. На сервер отправляется запрос. API нужно для того, чтобы система правильно поняла запрос и в ответ отправила с сервера нужные данные — складские остатки из базы 1С. Тогда пользователь увидит на сайте, сколько единиц товара он может купить.

В зависимости от задач проекта разработчики реализуют API в формате REST, GraphQL, gRPC или Websocket API. На базе Django можно реализовать любой из этих типов API:

  • Наиболее распространенный способ обмена данными между клиентом и сервером по принципу «запрос — ответ» — REST. Библиотека django-rest-framework помогает легко реализовать REST API на базе Django.
  • Иногда REST не позволяет получить данные в удобной форме. В таком случае можно реализовать API c помощью GraphQL. Этот метод подойдет, если в одном ответе нужно сделать выборку и уточнить, какие именно данные нужны.
  • GRPC и Websocket API позволяют снизить нагрузку на сетевой трафик. Websocket также позволяет получать обновления в реальном времени. Эти протоколы используются реже, так как их разработка сложнее. Их применяют там, где это оправдано задачами.

Подключение REST API и GraphQL в Django

Подключить сторонние сервисы

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

Можно связать сервис с Telegram — написать бота, который отправляет уведомления администратору, когда возникают ошибки в работе сервиса

В Django это делается быстро. Нужно только подключить нужные расширения — дополнительные библиотеки.

Источник: vc.ru

Django для новичков

Python – один из самых популярных языков программирования. Используется он и для веб-разработки. Чтобы сделать сайт максимально удобным и функциональным, необходимо использовать разнообразный инструментарий. В Google полной информации о том, как это сделать.

Важным компонентом, которым располагает Питон, является фреймворк Django. Это – верный союзник разработчика полномасштабных веб-страничек и браузерных виджетов. В данной статье речь зайдет о соответствующем элементе программирования.

Фреймворк – понятие

Фреймворк – слово, которое произошло из английского framework. Представляет особую структуру, на основе которой можно создавать разного рода программные продукты. Шаблон для программирования с минимальными усилиями.

Фреймворк – каркас проекта, состоящий из заготовок и блоков кодификаций. На него разработчики будут «наращивать»:

  • интерфейс;
  • функционал и инструментарий;
  • разнообразные фичи;
  • дополнительные возможности.

Для совершенствования написанного сайта посредством framework, нужно просто пробежаться по коду и вставить туда «готовые блоки».

Django – что это

Джанго, согласно Google – это высокоуровневый Python веб-фреймворк. Он помогает при создании безопасных и поддерживаемых страниц в Сети. Обладает открытым исходным кодом. Распространяется бесплатно. Есть платная поддержка с расширенным функционалом.

Посредством Питон Джанго будет выпускаться софт, который выступает в качестве:

  1. Наиболее полного. У Django, согласно Google, действует принцип «есть все». Здесь присутствуют блоки кода, среди которых разраб сможет отыскать практически любую функцию/возможность.
  2. Разностороннего. В Google указано, что Django применяется для всех видов веб-страниц. Он умеет работать как с клиентской средой, так и с социальными сетями.
  3. Максимально безопасного. Google уверяет, что одно из ключевых преимуществ сайтов, созданных через Джанго – их безопасность. Готовые шаблоны помогают миновать наиболее распространенные ошибки и неполадки кода.
  4. Масштабируемого. Достигается результат за счет задействования архитектуры shared-nothing.
  5. Легко переносимого. Django, если верить Google – это функции и дополнения с отличной оптимизацией и кроссплатформенной работой.
Читайте также:
Com Android camera что это за программа

А еще такой сайт легко поддерживать. Питон – язык, который понятен даже для начинающих. И его фреймворки – тоже.

Исторические данные

В Google можно найти курсы по Django в больших количествах – как для начинающих, так и для продвинутых разработчиков. Но сначала рекомендуется больше разузнать об этом фреймворке.

История оного начинается в 2003 году. Тогда Django внедрила в свою деятельность команда ребят, занимающихся разработкой и обслуживание газетных виртуальных изданий. Они сделали с фреймворком несколько страниц, заметив, что каждый раз для конкретных функций и инструментов задействованы одни и те же элементы кода. Внедрение фреймворка упростило процесс разработки.

В Google указано, что именно эти наблюдения получили название Django. В 2005 году «набор шаблонов» получил открытый исходный код.

Официальный релиз, доступный для всех пользователей, состоялся во время 2000-х годов – в 2008, в сентябре. В 2020 вышла версия 3.1, которая до сих пор пользуется спросом. Она включается в себя следующие новшества:

  • функционал;
  • корректировка ранее обнаруженных багов;
  • поддержка работы с новыми типами баз данных;
  • шаблонизаторы;
  • возможность кэширования.

Сегодня Django – незаменимый помощник, если пишем на языке Python. Он стремительно развивается и совершенствуется.

Насколько популярен

Задумываясь над поиском курсов по Django, стоит сначала выяснить, насколько это популярный фреймворк. Google уверяет, что им удобно пользоваться. Это – универсальное средство программирования веб-страничек.

Согласно данным GitHub и StackOverflow, Django активно применяется в:

  • Mozilla;
  • Instagram;
  • Pinterest;
  • National Geographic;
  • OpenStack.

Это – только начало. Все перечисленные компании известны по миру. Поэтому популярность рассматриваемого фреймворка не должна вызывать вопросов.

Гибкость

В Google можно найти не только курсы по Django, но и много полезной информации относительно соответствующего «набора кодов». Пример – о гибкости frameworks. Их условно делят на две категории: гибкие и негибкие.

Второй тип кодификаций – это такой, у которого есть один единственный правильный путь для решения задачи. Обладают быстрой разверткой в определенной области. Метод решения будет хорошо документироваться и осуществляться. Если же предстоит решать вопросы за пределами основной сферы, не исключены серьезные проблемы.

Гибкий framework – это «набор блоков кода» с меньшими ограничениями. С их помощью удается искать и применять специальный инструментарий для конкретной, иногда специфической, проблемы.

По Google Django – это умеренно гибкий вариант. Представляет собой компоненты для обработки основной массы задач веб-разработки, а также несколько предпочтительных путей решения поставленного вопроса. Из нескольких имеющийся функций разработчик сможет подобрать оптимальный для себя выход, а также добавить совершенно новые возможности.

«Внешность» кода

Пытаясь найти в Google курсы по Python Django, рекомендуется сначала изучить основы работы с данным компонентом. Многих начинающих интересует то, как будет выглядеть итоговая кодификация.

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

  • URL-адреса;
  • GET-запросов;
  • Данных из POST.

Далее происходит запись или считывание информации из баз данных. В зависимости от поставленной задачи возможно проведение разного рода дополнительных действий с электронными материалами.

Google уверяет, что следующий этап – это ответ приложения обозревателю Сети через динамическую HTML-страницу для отображения в HTML-шаблонах.

В случае с Django ситуация немного меняется. Сначала осуществляется группирование кода, за счет которого производится обработка шага в отдельные документы:

  1. URLs. Для каждой страницы интернета пишем самостоятельные функции. URL-маршрутизаторы будут перенаправлять сформированные запросы в подходящее представление, опирающееся на адресный запрос. Оборудование сможет получать данные в соответствии с заданными шаблонами. После производится вывод таковых в качестве аргументов.
  2. View. В Google говорится о том, что начинает работать функция обработчика запросов. Она будет получать HTTP-команды, после чего – осуществляет возврат ответов. За счет операции «отображение» можно получить доступ к информации, задействованной для решения определенных задач. Завершающий этап здесь – это преобразование ответов в шаблоны через модели.
  3. Models. Далее в ход идут модели – объекты, которые помогают определять структуру информации приложения или сайта. Дают механизмы для управления и реализации запросов в БД.
  4. Templates – текстовые файлы. Получаются в ходе реализации кодификации. Документ будет служить для определения структуры или разметки страниц с полями для подстановки.

Сервисы на Джанго реализовывают структуру типа MVT.

О материалах для изучения

Найти курсы по Python Django сегодня не составляет никакого труда. Обучающие пособия и документация на русском языке находится в свободном доступе. Можно воспользоваться Google для обнаружения интересующих туториалов и уроков. Некоторые из них платные, а какие-то – бесплатные.

Каждый раз, когда пишем какой-то запрос в поисковой системе, нужно хорошо продумать его. Это поможет отыскать максимально точные данные. Поискать материалы по Джанго можно через:

  1. Официальные книжные магазины. Там полно информации как по Питону, так и по его фреймворкам. Но придется заплатить за книги. Можно приобрести их в электронной форме.
  2. Тематические форумы и сайты. На них удастся найти готовые бесплатные курсы по Django и не только. Отличный вариант для начинающих.
  3. Поисковики. Пример – Google. В Сети на специализированных страницах есть как статьи, посвященные интересующей теме, так и иные обучающие материалы.
  4. Видеохостинги. Пример – Youtube. Здесь есть уроки на русском, которые помогут освоить Джанго.

Питон и его инструментарий изучают программисты и разработчики в ВУЗах/техникумах. Но в Москве и других регионах быстро вникнуть в тему помогут специализированные компьютерные курсы по Django. Доступны в режиме онлайн. Рассчитаны на срок до года. Можно выбрать одно или несколько сопутствующих направлений.

В конце прохождения course выпускнику выдадут сертификат, подтверждающий навыки и знания в соответствующей области разработки.

Интересует Django и веб-разработка на Python? Обратите внимание на следующий курс в Otus!

Источник: otus.ru

Почему вам стоит выбрать фреймворк Django для своего следующего проекта

Максим Кузнецов

Обложка: Почему вам стоит выбрать фреймворк Django для своего следующего проекта

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

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

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

Проекты на Django для начинающих: двухчасовой видеокурс

Проекты на Django для начинающих: двухчасовой видеокурс

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

Читайте также:
Методическое сопровождение программы что это

Основные возможности Django

  • ORM, API доступа к БД с поддержкой транзакций;
  • встроенный интерфейс администратора с уже имеющимися переводами на многие языки;
  • диспетчер URL на основе регулярных выражений;
  • расширяемая система шаблонов с тегами и наследованием;
  • система кэширования;
  • интернационализация;
  • подключаемая архитектура приложений, которые можно устанавливать на любые Django-сайты;
  • generic views — шаблоны функций контроллеров;
  • авторизация и аутентификация, подключение внешних модулей аутентификации: LDAP, OpenID и проч.;
  • система фильтров (middleware) для построения дополнительных обработчиков запросов, как, например, включенные в дистрибутив фильтры для кэширования, сжатия, нормализации URL и поддержки анонимных сессий;
  • библиотека для работы с формами (наследование, построение форм по существующей модели БД);
  • встроенная автоматическая документация по тегам шаблонов и моделям данных, доступная через административное приложение.

Django Rest Framework для создания API

Django Rest Framework (DRF) — это библиотека, которая работает со стандартными моделями Django для создания гибкого и мощного API для проекта. Эта статья поможет понять структуру DRF и дать вводные данные для начала его использования

Аналитик DWH

Аналитик DWH Ренессанс Кредит , Москва, можно удалённо , По итогам собеседования

API DRF состоит из трёх слоев:

  • Сериализатор преобразует информацию, хранящуюся в базе данных и определенную с помощью моделей Django, в формат, который легко и эффективно передается через API.
  • Вид (ViewSet) определяет функции (чтение, создание, обновление, удаление), которые будут доступны через API.
  • Маршрутизатор определяет URL-адреса, которые будут предоставлять доступ к каждому виду.

Когда не стоит использовать Django

  • Для очень-очень больших приложений, т.к. для некоторого функционала специально подбирается язык и технология, плюс Django по архитектуре ближе к монолиту, чем к микросервисам.
  • Если необходимо написать простейшее приложение, в котором не требуется работать с базой данных, выполнять операции с файлами или делать что-либо хоть немного сложное. Для таких ситуаций лучше подойдут микрофреймворки.
  • Вы хотите сами написать все с нуля и знаете, что делаете.
  • Вы или ваши коллеги совершенно не знакомы с Django/Python и у вас нет времени и ресурсов на наработку необходимых навыков.

Если все вышесказанное – не про ваш проект, то, вполне вероятно, Django вам подойдет.

Из личного опыта: идеальное применение Djnago для бэкенд разработки — написание бэкенда на хакатоне. Очень много встроенных фич и расширений, максимально удобная и быстрая разработка по сравнению с другими языками и фреймворками. Как мы знаем, на хакатоне время очень ограниченно.

Django и DRF. Полезные ссылки для изучения

  • Django 3.2 documentation
  • Документация Django 3.1 на русском языке
  • Django REST framewor​k documentation
  • Документация Django REST framework на русском языке

Источник: tproger.ru

Django — что это такое, порядок установки

Как вы думаете, что общего между youtube, google search, dropbox и instagram? Да, конечно, все они сделаны с использованием фреймворка Django! И этим занятием мы открываем курс по этому очень популярному фреймворку, разработанному специально для языка Python.

Если вы хотите во всех подробностях понимать его работу, то необходим следующий багаж знаний:

  • язык Python (в том числе и его ООП);
  • работа с шаблонами (например, пакет Jinja);
  • базовые знания работы с SQL-запросами;
  • регулярные выражения.

И еще желательно знать основы ORM – взаимодействие с БД через модели классов. Яркий пример реализации ORM – пакет SQLAlchemy. Далее, на занятиях этого цикла я буду полагать, что вы хорошо знаете язык Python, шаблонизатор Jinja, умеете составлять регулярные выражения (пакет re) и SQL-запросы. Обо всем этом я уже рассказывал на нашем канале и ссылки на соответствующие плейлисты вы найдете под этим видео. Давайте теперь разберемся, для чего же вообще предназначен фреймворк Django? Если очень кратко, то для обеспечения работы сайтов на стороне сервера. То есть, это инструмент для бэкенд разработчиков. А если немного подробнее, то процесс взаимодействия пользователя с сайтом можно представить в таком виде: Сначала от клиента поступает запрос, например, он вводит в браузере адрес https://youtube.com. Информационные пакеты начинают двигаться в сторону сервера с сайтом Youtube. Вопрос о том, как они это делают, мы оставим в стороне, это называется маршрутизацией в сети Интернет. Главное, что они доходят до сервера (то есть, компьютера), где расположен Youtube. На этом компьютере установлено специальное программное обеспечение – Web-сервер. Очень часто используют уже готовые разработки с открытым кодом: Apache и Nginx. Реже какие-либо свои программные продукты. Так вот, этот Web-сервер постоянно «слушает» каналы связи и в момент поступления запроса от пользователя должен перенаправить его на обработку соответствующему сайту (так как на одном сервере может находиться множество сайтов). Сайты способны по разному обрабатывать входящие запросы, например, используя PHP и CGI скрипты, или же могут использовать фреймворки – обертки для выбранного языка программирования, значительно упрощающие обработку запросов от клиентов сайта. В частности, Django – это и есть такая обертка для языка Python. В этом случае сервер по интерфейсу WSGI передает обработку запроса этому фреймворку, используется определенное представление, отвечающее за текущий запрос, и результатом обработки, как правило, является HTML-страница, которая сначала передается Web-серверу также по WSGI-интерфейсу, а он уже передает страницу конечному пользователю. Страница отображается в браузере клиента и он видит заветный сайт Youtube. Вот так в очень упрощенном виде происходит взаимодействие между пользователем, сервером и фреймворком.

WSGI (Web Server Gateway Interface) — стандарт взаимодействия между Python-программой, выполняющейся на стороне сервера, и самим веб-сервером.

Отлично, теперь мы знаем, где находится фреймворк и за что он отвечает. Но как нам в домашних условиях, в учебных целях или целях разработки проекта запустить Django? Здесь есть хорошая новость. Во-первых, во всех современных компьютерах функционирует внутренняя сеть, которая называется: localhost – 127.0.0.1 Во-вторых, пакет Django в своем составе содержит отладочный Web-сервер, который можно запустить на домашнем ПК и проверить работу сайта, не используя сторонний сервер. Конечно, после полной разработки и отладки проекта сайты почти всегда размещаются на арендуемых серверах (хостингах) и уже там работают в боевом режиме.

Создание виртуального окружения

Давайте установим фреймворк Django на свой домашний компьютер. Здесь есть множество вариантов, мы воспользуемся наиболее распространенным – установим официальный релиз в новое виртуальное окружение (venv). Давайте я поясню, что означают эти «умные фразы».

Как вы уже догадались, Django – это серьезный фреймворк и часто он взаимодействует с другими пакетами языка Python, да и сама версия Python может иметь значение. Так вот, чтобы все модули согласованно работали и выдавали ожидаемые результаты на запросы пользователей, желательно и на тестовом сервере и на реальном использовать одни и те же версии программных продуктов: начиная с выбранной версии Django и заканчивая определенной версией интерпретатора языка Python.

Читайте также:
Что за программа intouch

Но на компьютере уже могут присутствовать другие версии программных модулей или же их потребуется установить в будущем. Например, новую версию интерпретатора Python. Это может негативно сказаться на разрабатываемом проекте.

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

Для этого нам понадобится установленный интерпретатор Python в глобальном окружении и работа с командной строкой. Если Python у вас еще не установлен, то скачайте его с официального сайта: https://www.python.org/downloads/ Далее, я буду все показывать на примере ОС Windows, т.к. именно под ней работаю. На Linux и MacOS все происходит похожим образом, но есть отличия.

Основные из них я буду отмечать по ходу изложения. Итак, чтобы работать с командной строкой Windows можно нажать комбинацию клавиш Win+R и в появившемся окне набрать команду cmd.

Если все сделаете правильно, то появится вот такое консольное окно: Но я воспользуюсь другой, более удобной бесплатной программой ConEmu, которую можно бесплатно скачать по адресу: https://conemu.ru После установки и первого запуска в поле «Choose your startup task or even shell with arguments:» укажу: И после нажатия на кнопку «OK» увидим следующее окно: Для проверки работоспособности интерпретатора Python наберем команду: python -V (В Linux или MacOS при установке Python версии 3 и следует использовать команду python3 -V). Если все работает, то должны увидеть текущую версию языка.

Если этого не произошло, то, скорее всего, у вас не установлен Питон в глобальном окружении. Далее, с помощью команды: pip list Можно посмотреть список установленных пакетов опять же в глобальном окружении, т.к. мы именно в нем сейчас находимся.

Далее, я создам папку, в которой будет устанавливаться виртуальное окружение: D:/Python/django/djsite И в командной строке перейду в этот каталог: cd D:/Python/django/djsite Затем, выполняем команду: python -m venv venv для создания виртуального окружения с именем venv в текущей папке. (Если вы работаете под Linux, то соответственно пишете команду python3). Все, виртуальное окружение создано и мы видим дополнительную папку venv.

Внутри нее имеются различные вложенные каталоги, которые и определяют содержимое данного окружения. Осталось его запустить. Находясь в папке D:/Python/django/djsite, выполним команду: .venvScriptsactivate (Если вы работаете под Linux, то выполняется команда «source venv/bin/activate»). В действительности, мы запускаем исполняемый файл activate, который находится в подкаталоге venvScripts.

В результате должна появиться надпись (venv), означающая, что мы находимся в виртуальном окружении с именем venv. Если теперь выполнить команду: pip list то увидим всего два пакета: сам pip и setuptools. То есть, это чистое виртуальное окружение, в котором два пакета и интерпретатор языка Python. Сразу отмечу, чтобы выйти из виртуального окружения достаточно выполнить команду: deactivate и мы возвращаемся в глобальное окружение.

Источник: proproprogs.ru

Django — фреймворк для веб-разработки на Python

Django — это программный каркас с богатыми возможностями, подходящий для разработки сложных сайтов и веб-приложений, написанный на языке программирования Python.

Django — фреймворк для веб-приложений на языке Python. Один из основных принципов фреймворка — DRY (don’t repeat yourself). Веб-системы на Django строятся из одного или нескольких приложений, которые рекомендуется делать отчуждаемыми и подключаемыми. Это одно из заметных архитектурных отличий этого фреймворка от некоторых других (например, Ruby on Rails). Также, в отличие от многих других фреймворков, обработчики URL в Django конфигурируются явно (при помощи регулярных выражений), а не автоматически задаются из структуры контроллеров.

Django проектировался для работы под управлением Apache (с модулем mod_python) и с использованием PostgreSQL в качестве базы данных. В настоящее время, помимо PostgreSQL, Django может работать с другими СУБД: MySQL (MariaDB), SQLite, Microsoft SQL Server, DB2, Firebird, SQL Anywhere и Oracle. Для работы с базой данных Django использует собственный ORM, в котором модель данных описывается классами Python, и по ней генерируется схема базы данных.

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

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

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

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

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

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

Django — веб-фреймворк, который в экосистеме Python является одним из наиболее распространённых.

Источник: web-creator.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru