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


Оглавление (нажмите, чтобы открыть):

Создаём сайт на Django, используя хорошие практики. Часть 1: создаём django-проект

Я начинаю серию статей, посвященных разработке сайтов на Django. Информация для этих статей получена из собственного опыта (полтора года коммерческой разработки на Django, несколько мелких фриланс-проектов, часть проекта pythonworld.ru написана на Django).

Django — веб-фреймворк для создания сайтов, написанный на языке Python. Язык и является одним из основных его преимуществ, так как обеспечивает быстрое написание кода. Также Django имеет «батарейки в комплекте», что означает, что для многих распространённых задач уже есть написанная библиотека. На текущий момент Django считается основным фреймворком Python для разработки веб-сайтов и веб-сервисов.

Мы будем создавать сервис, который выгружает фриланс-проекты, фильтрует из них те, которые может выполнить Python-программист, а затем показывает пользователям.

У сайта fl.ru есть RSS-ленты (с точки зрения программиста, это XML-файлы, в которых содержится информация о новых проектах). Поскольку это достаточно удобный формат для машинной обработки, данные будем брать оттуда (впоследствие мы подключим и другие источники данных).

Здесь и далее я буду предполагать, что у вас установлено:

  • Linux-based система (Ubuntu 19.10 — прекрасный выбор),
  • Python 3.7 (на ubuntu 19.10 стоит изначально, на более ранние версии необходимо ставить отдельно,
  • PostgreSQL 11.

Ставим зависимости (PostgreSQL), и создаём директорию для проекта:

Создаём и активируем виртуальное окружение (изолированное окружение среды Python, которое позволяет нам использовать определенные, не зависящие от системы, версии приложений):

Далее предполагается, что все команды выполняются в активированном на предыдущем шаге виртуальном окружении.

Создаём проект. Поскольку мы хотим придерживаться хороших практик, будем пользоваться не стандартной django-admin startproject, а создадим проект с помощью шаблона cookiecutter, в котором уже настроены наиболее часто используемые фишки.

При создании проекта необходимо ответить на несколько вопросов

Хорошей практикой является использование системы контроля версий. Такая система позволяет работать над проектом нескольким людям; автоматически делает копии всех предыдущих версий кода, и вы всегда можете к ним вернуться, если что-то пошло не так.

Теперь копия нашего кода доступна на странице нашего github-репозитория.

Установим локальные зависимости

Создаём базу данных в PostgreSQL

Теперь применим миграции

Дело в том, что все настройки, связанные с безопасностью, при создании проекта через cookiecutter хранятся не в файлах с исходным кодом, а в переменных окружения. Это более безопасно, но менее удобно. Каждый раз при перезапуске компьютера необходимо будет экспортировать все переменные окружения.

Есть способ хранения всех относящихся к проекту переменных окружения в специальном .env файле. Создадим в корне проекта файл под названием .env и содержимым

Теперь достаточно сделать

Далее я предполагаю, что каждый раз после активации виртуального окружения вы делаете export DJANGO_READ_DOT_ENV_FILE=true .

Заходим на 127.0.0.1:8000

Как видим, вместо стандартной django-страницы «It works!» cookiecutter предлагает страницу со ссылками на страницы авторизации и регистрации через django-allauth, а также автоматически подключен django-debug-toolbar, показывающий, сколько происходит запросов к различным компонентам и сколько времени они занимают.

Создаём веб при помощи Python

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

Python и веб-разработка

При разработке веб-приложения Python в основном используется для обработки бэк-энд и маршрутизации, где в роли конкурентов у него PHP и Ruby. Веб-страницы все равно необходимо отображать с использованием HTML и CSS, а функциональная часть фронтэнда по-прежнему выполняется на JavaScript. Если вам интересен этот язык, то рекомендуем начать его изучения с бесплатного интенсива по основам Python.

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

Такой тип взаимодействия называется full-stack фреймворком. С его помощью вы можете работать с системами, обрабатывающими HTTP-запросы, хранилищами баз данных, шаблонами веб-страниц, запросами маршрутизации и т. д. С другой стороны, есть и не full-stack фреймворки, которые также называют микрофреймворками, которые обрабатывают только базовую логику. А для сторонних работ они должны быть объединены со сторонними базами данных, шаблонизаторами и т. д.

В общем, full-stack фреймворки имеют более крутые кривые обучения и заставляют вас принимать множество решений относительно структуры, но предоставляют все, что вам нужно. Микрофреймворки могут быть изучены в кратчайшие сроки и являются более гибкими, но вам, скорее всего, каждый раз придётся изобретать велосипед.

Python против других языков

Если вы следите за текстами в нашем блоге, то уже имеете представление о популярных JavaScript-фреймворках, например, React или Angular. Они стремительно развиваются, особенно среди новичков. Многие думают: «Если мне нужен JavaScript для внешнего интерфейса, почему бы не использовать JavaScript для back-end?» И это действительно имеет смысл. А взгляните на PHP — он существует уже много десятилетий, его окружает большое количество документации, он востребован. Тоже вполне себе логичный вариант для back-end.

Большинство актуальных задач веба вы можете решить с использованием любого языка. Единственное, что действительно важно — это то, насколько удобно вам лично его использовать. Если язык вам не подходит, вы просто изучите другой и продолжите своё дело.

Но отказаться от Python вам будет очень непросто, ведь для любви к нему есть минимум 5 причин.

Python и фреймворки

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

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

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

Flask — микрофреймворк, в некотором роде являющийся полном противоположностью Django. Он будет прост и понятен новичку, но обеспечит лишь базовый уровень возможностей, в то время как основную функциональность на себя должны будут взять сторонние интегрированные компоненты. Соответственно полного погружения в предмет Flask вам не подарит, лишь общее представление.

То есть если вы знаете, как и что вам необходимо использовать для реализации задумки, то Flask может стать тем минимальным клеем, что соберёт все воедино. Но если у вас нет ни опыта работы, ни понимания того, как должно функционировать будущее приложение, то Flask — далеко не лучший выбор.

Pyramid — это некий компромиссе между Django и Flask. Данный фреймворк не так функционален, как Django, и не так упрям, как Flask, но прост, удобен и вполне достаточен для организации большинства веб-приложений. Здесь есть большая библиотека официальных и неофициальных плагинов, с помощью которых вы сможете реализовать все задумки для вашего проекта.

Python и реальная жизнь

Если вы дочитали текст до данного раздела, то наверняка хотите увидеть реальные примеры веб-применения Python. Что ж, загибайте пальцы или открывайте новые закладки, кому как удобно: YouTube, Instagram, DropBox, Google, Reddit, Pinterest, FireFox, NASA, Quora и многие-многие другие. Да, где-то Python используется лишь частично, где-то и вовсе его стараются заменять более новыми языками, но влияние на веб у змеиного языка по-прежнему очень велико.

Python и обучение

Теперь остаётся лишь один вопрос: «Где обучиться?». С этим, к счастью, на нашем портале проблем никаких. Хотите — приобретайте целую профессию «Программист Python», хотите лишь отдельный курс «Python. Уровень 1» или «Python. Уровень 2», а хотите просто заручитесь помощью хорошей книги, например из списка «8 книг по Python для начинающих».

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

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

Python и веб-разработка

При разработке веб-приложения Python в основном используется для обработки бэк-энд и маршрутизации, где в роли конкурентов у него PHP и Ruby. Веб-страницы все равно необходимо отображать с использованием HTML и CSS, а функциональная часть фронтэнда по-прежнему выполняется на JavaScript. Если вам интересен этот язык, то рекомендуем начать его изучения с бесплатного интенсива по основам Python.

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

Такой тип взаимодействия называется full-stack фреймворком. С его помощью вы можете работать с системами, обрабатывающими HTTP-запросы, хранилищами баз данных, шаблонами веб-страниц, запросами маршрутизации и т. д. С другой стороны, есть и не full-stack фреймворки, которые также называют микрофреймворками, которые обрабатывают только базовую логику. А для сторонних работ они должны быть объединены со сторонними базами данных, шаблонизаторами и т. д.

В общем, full-stack фреймворки имеют более крутые кривые обучения и заставляют вас принимать множество решений относительно структуры, но предоставляют все, что вам нужно. Микрофреймворки могут быть изучены в кратчайшие сроки и являются более гибкими, но вам, скорее всего, каждый раз придётся изобретать велосипед.

Python против других языков

Если вы следите за текстами в нашем блоге, то уже имеете представление о популярных JavaScript-фреймворках, например, React или Angular. Они стремительно развиваются, особенно среди новичков. Многие думают: «Если мне нужен JavaScript для внешнего интерфейса, почему бы не использовать JavaScript для back-end?» И это действительно имеет смысл. А взгляните на PHP — он существует уже много десятилетий, его окружает большое количество документации, он востребован. Тоже вполне себе логичный вариант для back-end.

Большинство актуальных задач веба вы можете решить с использованием любого языка. Единственное, что действительно важно — это то, насколько удобно вам лично его использовать. Если язык вам не подходит, вы просто изучите другой и продолжите своё дело.

Мастер Йода рекомендует:  Анимации на Javascript знакомимся с JavaScript Web Animation API

Но отказаться от Python вам будет очень непросто, ведь для любви к нему есть минимум 5 причин.

Python и фреймворки

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

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

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

Flask — микрофреймворк, в некотором роде являющийся полном противоположностью Django. Он будет прост и понятен новичку, но обеспечит лишь базовый уровень возможностей, в то время как основную функциональность на себя должны будут взять сторонние интегрированные компоненты. Соответственно полного погружения в предмет Flask вам не подарит, лишь общее представление.

То есть если вы знаете, как и что вам необходимо использовать для реализации задумки, то Flask может стать тем минимальным клеем, что соберёт все воедино. Но если у вас нет ни опыта работы, ни понимания того, как должно функционировать будущее приложение, то Flask — далеко не лучший выбор.

Pyramid — это некий компромиссе между Django и Flask. Данный фреймворк не так функционален, как Django, и не так упрям, как Flask, но прост, удобен и вполне достаточен для организации большинства веб-приложений. Здесь есть большая библиотека официальных и неофициальных плагинов, с помощью которых вы сможете реализовать все задумки для вашего проекта.

Python и реальная жизнь

Если вы дочитали текст до данного раздела, то наверняка хотите увидеть реальные примеры веб-применения Python. Что ж, загибайте пальцы или открывайте новые закладки, кому как удобно: YouTube, Instagram, DropBox, Google, Reddit, Pinterest, FireFox, NASA, Quora и многие-многие другие. Да, где-то Python используется лишь частично, где-то и вовсе его стараются заменять более новыми языками, но влияние на веб у змеиного языка по-прежнему очень велико.

Python и обучение

Теперь остаётся лишь один вопрос: «Где обучиться?». С этим, к счастью, на нашем портале проблем никаких. Хотите — приобретайте целую профессию «Программист Python», хотите лишь отдельный курс «Python. Уровень 1» или «Python. Уровень 2», а хотите просто заручитесь помощью хорошей книги, например из списка «8 книг по Python для начинающих».

Часть 11. Web-программирование: Django

Серия контента:

Этот контент является частью # из серии # статей: Программирование на Python

Этот контент является частью серии: Программирование на Python

Следите за выходом новых статей этой серии.

Одной из наиболее фундаментальных архитектур для приложений является так называемая архитектура модель-представление-контроллер (Model-View-Controller) или MVC, которая разделяет базовый функционал приложения на ряд отдельных компонентов. При этом достигается главная цель: одна модель на много приложений.

Джанго – это высокоуровневый питоновский Web-фреймворк, который реализован на основе архитектуры MVC. Джанго имеет прозрачный дизайн, дает возможность для оперативной разработки Web-приложений, позволяет разрабатывать динамические Web-сайты.

Отличительные особенности джанго:

  • любой запрос обрабатывается программно и перенаправляется на свой адрес(url);
  • разделение контента и представления с помощью шаблонов;
  • абстрагирование от низкого уровня баз данных.

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

  1. Модель данных: данные являются сердцевиной любого современного Web-приложения. Модель – важнейшая часть приложения, которое постоянно обращается к данным при любом запросе из любой сессии. Любая модель является стандартным питоновским классом. Объектно-ориентированный маппер (ORM) обеспечивает таким классам доступ непосредственно к базам данных. Если бы не было ORM, программисту пришлось бы писать запросы непосредственно на SQL. Модель обеспечивает облегченный механизм доступа к слою данных, инкапсулирует бизнес-логику. Модель не зависит от конкретного приложения. Данными можно манипулировать даже из командной строки, не используя при этом Web-сервер.
  2. Представление (view): вьюхи в джанге выполняют разнообразные функции, в том числе контролируют запросы пользователя, выдают контекст в зависимости от его роли. View – это обычная функция, которая вызывается в ответ на запрос какого-то адреса (url) и возвращает контекст.
  3. Шаблоны: они являются формой представления данных. Шаблоны имеют свой собственный простой метаязык и являются одним из основных средств вывода на экран.
  4. URL: это всего лишь механизм внешнего доступа к представлениям (view). Встроенные в урлы регулярные выражения делают механизм достаточно гибким. При этом одно представление может быть сконфигурировано к нескольким урлам, предоставляя доступ различным приложениям. Здесь поддерживается философия закладок: урлы становятся как бы самодостаточными и начинают жить независимо от представления.

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

Сегодня мы рассмотрим следующие темы.

  1. Как инсталлировать джанго.
  2. Первое приложение.
  3. Подключение базы данных.
  4. Первое представление.
  5. Шаблоны.
  6. Администрирование.

1. Как инсталлировать джанго

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

После разархивации в каталоге проекта запустите команду:

Далее нужно сделать проверку, запустить питон и выполнить команду:

Проверка версии джанго:

На данный момент официальная стабильная версия – 1.1.1.

2. Первое приложение

Для создания первого приложения зайдем в свой домашний каталог и запустим команду:

Будет создан подкаталог mysite, где и будет лежать приложение. Заходим в созданный каталог и видим следующую файловую структуру:

__init__.py – пустой файл, который подключает текущий каталог как стандартный питоновский пакет.

manage.py – утилита, управляющая сайтом.

settings.py – конфигурация сайта.

urls.py – таблица урлов или таблица для всего контента сайта.

Для того чтобы загрузить наше Web-приложение, запустим команду:

Если теперь в браузере открыть адрес http://127.0.0.1:8000/, то убедимся в том, что приложение запущено: появится стандартное приглашение.

3. Подключение базы данных

Джанго поддерживает следующие серверы баз данных: PostgreSQL, SQLite, MySQL, Microsoft SQL Server, Oracle.

В нашем примере мы выбираем постгрес – не потому, что он лучше, это не имеет принципиального значения. Убедитесь в том, что постгрес уже установлен на вашей системе, в противном случае его нужно проинсталлировать. После этого в файле settings.py пропишем настройки для постгреса:

Запускаем две команды, которые создают базу данных mysite – постгрес перед этим, естественно, должен быть уже запущен:

Запускаем команду, которая создает в этой базе около 10 системных таблиц:

4. Первое представление

Теперь сгенерируем каркас для нашего Web-приложения:

Внутри каталога mysite появится подкаталог People со следующей структурой:

Добавим в settings.py последнюю строку, которая добавляет новый путь:

В settings.py в качестве корневого адреса должен быть:

Создадим модель Person – стандартный питоновский класс с двумя атрибутами – имя, и-мейл. Файл models.py:

После того как добавляется новая модель, ее нужно синхронизировать с базой данных. Для этого из командной строки выполняем команду:

После этого в базе данных появится новая таблица. Нужно заметить, что если вы после этого будете вносить изменения в уже существующую модель и пытаться синхронизировать эти изменения с базой данных, то джанго никак не будет на это реагировать: в базу добавляются только новые объекты. Для внесения изменений уже придется пользоваться sql-скриптами на апдэйт конкретных таблиц.

Теперь напишем простейшее представление, которое выведет приглашение-файл views.py:


Добавим урл – файл urls.py:

Вновь запускаем Web-приложение:

Открываем адрес в браузере и видим приглашение:

5. Шаблоны

В корне каталога mysite создадим каталог templates. В файле settings.py добавим строку:

Добавленный путь должен быть абсолютным. В добавленный каталог положим файл person.htnl следующего содержания:

В нашем единственном представлении index мы сделаем изменения: создадим объект Person и передадим его в вызываемый шаблон в качестве параметра. В шаблоне мы берем атрибуты этого параметра с помощью префикса двойных кавычек:

Файл views.py после подключения шаблона теперь будет выглядеть так:

После перезагрузки Web-страницы в браузере мы увидим эти атрибуты.

6. Администрирование

Администраторская часть в джанго по умолчанию отключена. Для ее включения добавим последнюю строку в settings.py:

Для работы с админской частью нужно иметь рутовые права, поэтому нужно вначале создать суперпользователя:

После этого запустим команду:

Файл urls.py с добавленным админским функционалом будет иметь следующий вид:

Набираем в браузере адрес: http://127.0.0.1:8000/admin/. И попадаем на страницу логина. После ввода логина и пароля суперпользователя открывается админская часть. В ней можно добавлять и редактировать объекты.

Заключение

Итак, сегодня мы узнали, что такое Джанго и почему стоит остановить на нем свой выбор. Это бесплатный фреймворк, который поддерживает модель MVC, имеет несколько программных интерфейсов к различным базам данных, интуитивно понятный интерфейс администрирования с возможностью расширения, поддержку многоязычности и т.д. Этот Web-фреймворк обладает рядом преимуществ: джанго хорошо документирован – сайт разработчиков http://www.djangoproject.com/ тому подтверждение. Легкость установки и настройки помогают значительно экономить время. Малое число внешних зависимостей удобно для пользования: все, что нам нужно – это питон. На этом наш цикл статей можно считать завершенным. Конечно, автор не ставил перед собой задачи написать подробный учебник или справочник, скорее здесь речь идет о кратком вводном курсе для разработчиков, желающих освоить новый для себя инструмент.

Код примеров проверялся на версии питона 2.6.

Блог на Django #1: Установка Django 2.0

Если Django уже установлен, можете пропустить этот раздел и переходить к части «Создание первого проекта». Django — это пакет Python, поэтому он может быть установлен в любой среде Python. Вот как установить фреймворк для локальной разработки.
Для Django 2.0 обязательны Python 3.4 или старше. Дальше будет использоваться Python 3.6.5. Для Linux или macOS, то Python, вероятно уже установлен. Если Windows — то инструкция по установке здесь.

Проверить установлен ли Python на компьютере можно, введя python в командной строке. Если в ответ отобразится что-то подобное, то Python установлен:

Если он не установлен или установлена версия Python 3.4 или младше, то нужно перейти в раздел “Скачать и установить Python”, найти руководство под свою OS и следовать инструкциям.

Для Python 3 не нужна база данных. Эта версия Python поставляется со встроенной базой данных SQLite. Это облегченная база данных, которая подходит для разработки на Django. Если же нужно будет разворачивать приложение в производственной среде, то понадобится более продвинутое решение: PostgreSQL, MySQL или Oracle. Больше узнать о том, как заставить базу данных работать с Django, можно по этой ссылке: https://docs.djangoproject.com/en/2.0/topics/install/#database-installation.

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

Рекомендуется использовать virtualenv для создания виртуальной среды Python так, чтобы можно было спокойно использовать разные версии пакетов для разных проектов. Это практичнее, чем устанавливать пакеты в Python напрямую в систему. Еще одно преимущество virtualenv — для установки пакетов Python не нужны права администратора. Запустите следующую команду в командной строке для установки virtualenv :

После установки virtualenv , создайте виртуальную среду с помощью следующей команды:

Это создаст папку my_env вместе со средой Python. Любые библиотеки Python, установленные с активированной виртуальной средой Python, будут установлены в папку my_env/lib/python3.7/site-packages .

Если в системе была предустановлена Python 2.X, а вы установили Python 3.X, то нужно указать virtualenv , чтобы он работал с последней версией.

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

Используйте следующую команду для активации виртуальной среды:

Лучшие фреймворки для разработки на Python

Перевод статьи Клеофаса Мулонго «Best Frameworks In Python Programming Language».

В настоящее время Python входит в число самых популярных языков программирования. Этот язык легко учить и легко использовать. Вероятно, этим и объясняется его популярность.

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

Мастер Йода рекомендует:  Как собрать свою Звезду Смерти из светильника IKEA — экспериментальный материал от Tproger

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

1. Django

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

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

Django полностью совместим с большинством движков баз данных. Когда речь заходит о реальных, рабочих приложениях, Django получает самые теплые отзывы. С применением этого фреймворка созданы такие популярные приложения как Pinterest, Instagram и даже Disqus.

Django это универсальный фреймворк. Он может использоваться при создании любых сайтов, поскольку умеет доставлять веб-контент в различных форматах (например, JSON, XML, RSS). Также он дружественен к начинающим разработчикам. Даже если вы в Python еще новичок, с Django вы справитесь без всяких проблем.

2. Flask

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

Flask поставляется со специальным шаблоном, известным как Jinja. Но при желании вы можете выбрать любой другой движок шаблонов. Flask считается открытым фреймворком. Вы можете использовать его для создания APIs, RESTful сервисов и endpoints.

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

3. Web2py

Web2py это бесплатный full-stack фреймворк с открытым исходным кодом. Он предназначен для скоростной разработки быстрых, масштабируемых, безопасных и портируемых веб-приложений на основе баз данных. Гибкость Web2py просто невероятна. Но помимо этого Web2py еще и самый портируемый Python-фреймворк. Поскольку для аутентификации он использует LDAP, вам не нужно будет его устанавливать и настраивать. Его можно запускать прямо с флешки.

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

4. CherryPy

Если вы планируете создать приложение, которое будет хорошо работать на платформе Android, CherryPy будет для вас просто идеальным выбором. Этот минималистичный фреймворк поможет вам сделать больше, а кода при этом писать меньше. CherryPy позволяет разработчикам управлять несколькими серверами одновременно.

Этот фреймворк поставляется со специальным плагином, который помогает мониторить производительность приложения.

5. Pylons

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

6. Pyramid

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

Pyramid это идеальный фреймворк для больших и сложных приложений, которые обычно рассчитаны на обслуживание многих людей. Однако его можно использовать и для простых приложений. Также это идеальный выбор для создания прототипов, которые будут использованы для разработки APIs.

Заключение

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

Django: разработка веб-приложений на Python

Дата публикации: 2020-10-12

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

Python — отличный выбор веб-разработчика

Одним из наиболее распространённых языков программирования для веб-разработки является Python, который в просторечии обрел название «Питон». Его нельзя назвать чистым веб-языком, как, скажем, PHP. Это универсальный и высокоуровневый PL, на котором можно создать все: от калькулятора до больших монолитных приложений. Его применение в веб обусловлено тем, что с его помощью создавать нетрудно и быстро. Ну, а если сравнивать с PHP, то синтаксис в нем более простой, с упором на широкую функциональность.

Одной из сильных сторон «Питона» для веб-разработки является наличие высокофункциональных библиотек. Здесь средства для работы с интернетом, XML-файлами и прочим. Ну, а инструменты для взаимодействия с различными операционными системами позволяют писать приложение под любую современную «ось». Также у Python есть средства для того, чтобы написанный вами код заработал быстрее даже без использования сторонних оптимизаторов. Два модуля — «profile» и «timeit» — дают возможность для расчета времени работы программы, чтобы впоследствии создать вариант, который будет выполняться быстрее всего.

По мощности язык часто сравнивают с Java, Perl и Ruby. Как и Python, эти языки подходят для объектно-ориентированного программирования и используются в веб-разработке. Так же, как и на JavaScript, на Питоне можно создавать пользовательские сценарии. Язык столь функционален, что некоторые апологеты создают веб-приложения исключительно на Python. Он широко используется в веб-разработке компанией Google и Facebook. К примеру, веб-версия Instagram создана полностью на «Питоне», в то время как для мобильных приложений он подходит не очень хорошо. Для Python характерно использование больших ресурсов и сравнительно медленное выполнение кода. Для ускорения языка предпринят ряд решений, большинство из них — успешные. Одним из них является использование фреймворка.

Как создать сайт самому?

Какие технологии и знания необходимы сегодня, чтобы создавать сайты самостоятельно? Узнайте на интенсиве!

Прогрессивные работают через фреймворк

Когда вы работаете с языком программирования на уровне «Hello, World!», сложно представить, что такое фрейм, и для чего он нужен. Что ж, пора познакомиться с этим явлением, так как дальнейшее развитие вряд ли возможно без этих помощников программиста.

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

Основными преимуществами использования фреймворков программисты называют:

оптимизацию труда. Как только вы освоили фреймворк (а это непросто: нужно понять, как мыслил программист, который создавал «каркас»), все становится проще. С виду сложные, программы создаются быстро. Но до этого мастерства быстрого кодинга в веб-разработке нужно идти годами;

сухость и чистота. Звучит не очень, но именно так характеризуют код, написанный с применением фреймворка. Он не содержит «двойных истин» и не требует последующей переработки.

Но и здесь не обошлось без трудностей. Первая в том, что, работая долгое время с конкретным фреймворком — допустим, с Django (о нем ниже) — вы затачиваете мышление под фрейм. Как только вы придете в компанию, которая реализует Python через Flask, придется переучиваться, причем не день и не два. Но, в целом, это не критично. Более весовым аргументом является безопасность. Если злоумышленник знает, какой фрейм вы использовали, то, по сути, понимает, как построено приложение, и может нанести ущерб.

Джанго — против «мокрого» кода

Одним из наиболее распространённых фреймворков для Python в плане веб-разработки является Django. Тот «Питон», который применяют компании Google и Facebook, тоже реализован на Django, как и большинство других веб-проектов.

Django хорош для веб-программирования тем, что следует принципу DRY. Это означает написание кода, который не повторяет сам себя. Если вы учились программированию, то понимаете, о чем идет речь. Один и тот же процесс можно описать по принципу DRY (don’t repeat yourself) и WET (we enjoy typing). Для быстродействия и удобочитаемости намного лучше писать короткий код, который не будет повторяться. К тому же, редактировать функции программы впоследствии будет легче. Именно потому Django является выбором №1 для веб-разработки.

Как создать сайт самому?

Какие технологии и знания необходимы сегодня, чтобы создавать сайты самостоятельно? Узнайте на интенсиве!

Хотите узнать, что необходимо для создания сайта?

Посмотрите видео и узнайте пошаговый план по созданию сайта с нуля!

Flask или Django? Выбираем Python вебфреймворк

Flask или Django?

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

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

Разница между Flask и Django

Flask и Django — оба взрослые, расширяемые веб фреймворка, которые, в корне своем, предоставляют аналогичный функционал в обработке запросов, поддержке документов, но различаются в масштабе ответственности.

Большая часть отличий между двумя фреймворками проистекают из разных подходов, остальные — из отличных основных проектных решений. Вот небольшой список ключевых различий, которые могут повлиять на ваше решение:

  • Объект Request — Flask использует локальные потоки, а Django передает запрос там, где это нужно.
  • Формы — Django доступен со встроенными формами, которые интегрируются с ORM и админкой сайта. Flask не поддерживает формы по умолчанию, но вы можете использовать WTForms, чтобы заполнить этот пробел.
  • Базы данных — Django доступен со встроенной ORM и системой миграции, которая может управлять базами данных. Flask не может этим похвастаться, однако есть инструменты, такие как SQLAlchemy, которые предоставляют аналогичный функционал (или даже больше).
  • Аутентификация и привилегии пользователям — Django предоставляет приложение аутентификации, которое предоставляет реализацию по умолчанию для пользовательского управления и привилегий. Flask предоставляет безопасные куки в качестве инструмента вашей собственной реализации.
  • Панель администратора — Django включает в себя полностью интегрированный админ-интерфейс для управления данными приложения. Flask не имеет таких функций, но Flask-Admin — очень популярное расширение, которое можно использовать для создания аналогичного административного инструмента.

Что такое Django?

На сайте Django утверждают, что “Django упрощает создание веб-приложений, делает это быстрее, используя меньше кода”, и называют Django “веб-фреймворк для перфекционистов с дедлайнами”. Действительно, Django — это взрослый фреймворк, который (по-умолчанию) делает множество решений самостоятельно, так что у пользователя в распоряжении инструмент для создания типичных веб приложений.

Если вам подходит хотя бы большая часть этих инструментов и надстроек от Django, вы можете создать весьма сложное приложение и сделать это быстро.

Какие компании используют Django?

  • Instagram
  • Pinterest
  • Udemy
  • Coursera
  • Zapier

Что такое Flask?

На сайте Flask его описывают как “микрофреймворк для Python, основанный на Werkzeug, Jinja 2 и отличных решениях” и “веб-разработка, по капле за раз”. Еще раз, это дает вам хорошее представление о пространстве, которым Flask пытается заполнить переполненный мир веб-фреймворков Python.

В частности, Flask может вести себя как мини-фреймворк на Python, который хорошо обрабатывает ряд вещей, при этом оставляет место для решений, которые вы хотите принять при постройке собственного веб-приложения.

Какие компании используют Flask

  • Netflix
  • Lyft
  • Reddit
  • Zillow
  • MailGun

Сходства и различия между Flask и Django

Чтобы лучше понять сходства и различия между Flask и Django, давайте рассмотрим, что они предлагают с точки зрения некоторых продвинутых функций, с которыми вы сталкиваетесь при работе с обычными веб приложениями.


Среда разработки веб приложений на Python

Сервер разработки

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

Утилиты командной строки

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

Мастер Йода рекомендует:  Деструктор PHP

Django 1.11 — Быстрый старт. Узнайте, как создавать веб-сайты на Django и Python.

Курс: «Django 1.11 — Быстрый старт. Узнайте, как создавать веб-сайты на Django и Python.» Хороший материал для программистов. Некоторое время назад данный материал был в сети, но с последнего обновления много чего изменилось. Эта раздача — обновленный материал с переписанным под новые версии кодом. В материале присутствует практика (это очень важно). Материал даст хороший старт для изучения данного фреймворка. Отзывы о материале хорошие. Материал прислал анонимный пользователь без комментариев.

Материал может быть удален по запросу правообладателя!

Описание курса:

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

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

Курс отлично подойдет для студентов, которые хотят получить знания по Django, а также для разработчиков на языке Python, которые хотят попасть в веб-разработку.

Вот лишь некоторые темы из включенных в этот курс:

  • Django Основы
  • Django Шаблоны
  • Django Модели
  • Django Формы
  • Django Настройка Админки
  • ORM
  • Аутентификация пользователей
  • HTML5
  • CSS3
  • Bootstrap 3
  • и многое другое!

Для кого этот курс:

  • Студенты, которые хотят получить знания по Django;
  • Разработчики на языке Python, которые хотят попасть в веб-разработку;

Требования:

  • Требуется компьютер с установленной Mac OS и Windows;
  • Требуется базовые знания в Python 3, HTML 5, CSS3, Bootstrap 3/4;

Чему вы научитесь:

  • Понимать и использовать интерфейс командной строки
  • Понимать основные термины Django
  • Устанавливать Django с помощью PIP
  • Создавать проект и приложение Django
  • Создавать модели, формы, шаблоны
  • Администрировать Django приложение
  • Выполнять запросы к базе данных
  • Создавать функциональный веб-сайт, используя полный Стек с Django 1.11 & Django 2.1
  • Смогут использовать HTML для создания Контента сайта
  • Использовать CSS, чтобы создавать красиво оформленные сайты
  • Смогут использовать преимущества bootstrap для быстрого создания сайта
  • Использовать аутентификацию пользователей
  • Применять MVC для вашего сайта
  • Создавать API
  • Авторизация через Facebook

Если Вы не видите ссылку для скачивания материала — отключите блокиратор рекламы и добавьте наш сайт в список исключений. Если Вы против рекламы на нашем сайте — покупайте контент напрямую у авторов.

Django 1.11- Быстрый старт 2020 (Обновлен код до Django 2.1)

Django 1.11- Быстрый старт 2020 (Обновлен код до Django 2.1)

Узнайте, как создавать веб-сайты на Django и Python.

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

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

Курс отлично подойдет для студентов, которые хотят получить знания по Django, а также для разработчиков на языке Python, которые хотят попасть в веб-разработку.

Добро пожаловать на курс «Django 1.11- Быстрый старт 2020 (Обновлен до Django 2.0)«

В курсе используется Django 1.11. В настоящее время, вышло крупное обновление популярного веб-фреймворка Django до версии 2.0. Однако авторы сообщают, что в коде не были представлены сколь-нибудь значительные несовместимые (с прошлыми версиями веб-фреймворка) изменения за исключением того, что упразднена поддержка Python 2.7. Процесс обновления на Django 2.0 проходит по привычной схеме и не требует дополнительных усилий. Самыми значительными новшествами релиза стали:

  • упрощённый синтаксис маршрутизации URL-адресов (routing), позволяющий создавать маршруты без использования регулярных выражений;
  • отзывчивая и оптимизированная для мобильных устройств административная панель (contrib.admin);
  • оконные выражения (Window expressions) для добавления условия OVER в запросах к данным (querysets).

Более подробный список изменений доступен в документе «Django 2 Release Note» на официальном сайте Django. Ссылка в Лекции 1.

Обновление, 10.01.2020:

— Добавлен новый урок по настройке «Django rest-framework Social Oauth2» для работы в Django 2.0

— В Лекции 9, 11 и 18 в ссылках к видео добавлены изменения, связанные с Django 2.0

— Обновлены все ссылки к видео

Обновлены исходники к проектам до Django 2.0.1

Обновление, 31.10.2020:

— Добавлено новое видео:

  • Настройка IDE (PyCharm) и установка Django под Windows 10

Обновление, 18.10.2020:

— Добавлен новый раздел Бонус

— Добавлены исходники мобильного приложения на языке Swift 4 под iOS 11

Обновление, 20.09.2020:

— Добавлены новые видео:

  • Heroku
  • Настройка статичных файлов и БД под Heorku

Обновление, 19.09.2020:

— Добавлены новые видео:

  • Facebook и протокол OAuth2
  • Создание Facebook App и подключение OAuth2 к Django для регистрации клиентов
  • Создание и аутентификация самого клиента

Обновление, 15.09.2020:

— Добавлен новый раздел Django. Практика. Уровень 2

— Изменен раздел Django. Практика на Django. Практика. Уровень 1

Вот лишь некоторые темы из включенных в этот курс:

  • Django Основы
  • Django Шаблоны
  • Django Модели
  • Django Формы
  • Django Настройка Админки
  • ORM
  • Аутентификация пользователей
  • HTML5
  • CSS3
  • Bootstrap 3
  • и многое другое!

Часть 11. Web-программирование: Django

Серия контента:

Этот контент является частью # из серии # статей: Программирование на Python

Этот контент является частью серии: Программирование на Python

Следите за выходом новых статей этой серии.

Одной из наиболее фундаментальных архитектур для приложений является так называемая архитектура модель-представление-контроллер (Model-View-Controller) или MVC, которая разделяет базовый функционал приложения на ряд отдельных компонентов. При этом достигается главная цель: одна модель на много приложений.

Джанго – это высокоуровневый питоновский Web-фреймворк, который реализован на основе архитектуры MVC. Джанго имеет прозрачный дизайн, дает возможность для оперативной разработки Web-приложений, позволяет разрабатывать динамические Web-сайты.

Отличительные особенности джанго:

  • любой запрос обрабатывается программно и перенаправляется на свой адрес(url);
  • разделение контента и представления с помощью шаблонов;
  • абстрагирование от низкого уровня баз данных.

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

  1. Модель данных: данные являются сердцевиной любого современного Web-приложения. Модель – важнейшая часть приложения, которое постоянно обращается к данным при любом запросе из любой сессии. Любая модель является стандартным питоновским классом. Объектно-ориентированный маппер (ORM) обеспечивает таким классам доступ непосредственно к базам данных. Если бы не было ORM, программисту пришлось бы писать запросы непосредственно на SQL. Модель обеспечивает облегченный механизм доступа к слою данных, инкапсулирует бизнес-логику. Модель не зависит от конкретного приложения. Данными можно манипулировать даже из командной строки, не используя при этом Web-сервер.
  2. Представление (view): вьюхи в джанге выполняют разнообразные функции, в том числе контролируют запросы пользователя, выдают контекст в зависимости от его роли. View – это обычная функция, которая вызывается в ответ на запрос какого-то адреса (url) и возвращает контекст.
  3. Шаблоны: они являются формой представления данных. Шаблоны имеют свой собственный простой метаязык и являются одним из основных средств вывода на экран.
  4. URL: это всего лишь механизм внешнего доступа к представлениям (view). Встроенные в урлы регулярные выражения делают механизм достаточно гибким. При этом одно представление может быть сконфигурировано к нескольким урлам, предоставляя доступ различным приложениям. Здесь поддерживается философия закладок: урлы становятся как бы самодостаточными и начинают жить независимо от представления.

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

Сегодня мы рассмотрим следующие темы.

  1. Как инсталлировать джанго.
  2. Первое приложение.
  3. Подключение базы данных.
  4. Первое представление.
  5. Шаблоны.
  6. Администрирование.

1. Как инсталлировать джанго

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

После разархивации в каталоге проекта запустите команду:

Далее нужно сделать проверку, запустить питон и выполнить команду:

Проверка версии джанго:

На данный момент официальная стабильная версия – 1.1.1.

2. Первое приложение

Для создания первого приложения зайдем в свой домашний каталог и запустим команду:

Будет создан подкаталог mysite, где и будет лежать приложение. Заходим в созданный каталог и видим следующую файловую структуру:

__init__.py – пустой файл, который подключает текущий каталог как стандартный питоновский пакет.

manage.py – утилита, управляющая сайтом.

settings.py – конфигурация сайта.

urls.py – таблица урлов или таблица для всего контента сайта.

Для того чтобы загрузить наше Web-приложение, запустим команду:

Если теперь в браузере открыть адрес http://127.0.0.1:8000/, то убедимся в том, что приложение запущено: появится стандартное приглашение.

3. Подключение базы данных

Джанго поддерживает следующие серверы баз данных: PostgreSQL, SQLite, MySQL, Microsoft SQL Server, Oracle.

В нашем примере мы выбираем постгрес – не потому, что он лучше, это не имеет принципиального значения. Убедитесь в том, что постгрес уже установлен на вашей системе, в противном случае его нужно проинсталлировать. После этого в файле settings.py пропишем настройки для постгреса:

Запускаем две команды, которые создают базу данных mysite – постгрес перед этим, естественно, должен быть уже запущен:

Запускаем команду, которая создает в этой базе около 10 системных таблиц:

4. Первое представление

Теперь сгенерируем каркас для нашего Web-приложения:

Внутри каталога mysite появится подкаталог People со следующей структурой:

Добавим в settings.py последнюю строку, которая добавляет новый путь:

В settings.py в качестве корневого адреса должен быть:

Создадим модель Person – стандартный питоновский класс с двумя атрибутами – имя, и-мейл. Файл models.py:

После того как добавляется новая модель, ее нужно синхронизировать с базой данных. Для этого из командной строки выполняем команду:

После этого в базе данных появится новая таблица. Нужно заметить, что если вы после этого будете вносить изменения в уже существующую модель и пытаться синхронизировать эти изменения с базой данных, то джанго никак не будет на это реагировать: в базу добавляются только новые объекты. Для внесения изменений уже придется пользоваться sql-скриптами на апдэйт конкретных таблиц.

Теперь напишем простейшее представление, которое выведет приглашение-файл views.py:

Добавим урл – файл urls.py:

Вновь запускаем Web-приложение:

Открываем адрес в браузере и видим приглашение:

5. Шаблоны

В корне каталога mysite создадим каталог templates. В файле settings.py добавим строку:

Добавленный путь должен быть абсолютным. В добавленный каталог положим файл person.htnl следующего содержания:

В нашем единственном представлении index мы сделаем изменения: создадим объект Person и передадим его в вызываемый шаблон в качестве параметра. В шаблоне мы берем атрибуты этого параметра с помощью префикса двойных кавычек:

Файл views.py после подключения шаблона теперь будет выглядеть так:

После перезагрузки Web-страницы в браузере мы увидим эти атрибуты.

6. Администрирование

Администраторская часть в джанго по умолчанию отключена. Для ее включения добавим последнюю строку в settings.py:

Для работы с админской частью нужно иметь рутовые права, поэтому нужно вначале создать суперпользователя:

После этого запустим команду:

Файл urls.py с добавленным админским функционалом будет иметь следующий вид:

Набираем в браузере адрес: http://127.0.0.1:8000/admin/. И попадаем на страницу логина. После ввода логина и пароля суперпользователя открывается админская часть. В ней можно добавлять и редактировать объекты.

Заключение

Итак, сегодня мы узнали, что такое Джанго и почему стоит остановить на нем свой выбор. Это бесплатный фреймворк, который поддерживает модель MVC, имеет несколько программных интерфейсов к различным базам данных, интуитивно понятный интерфейс администрирования с возможностью расширения, поддержку многоязычности и т.д. Этот Web-фреймворк обладает рядом преимуществ: джанго хорошо документирован – сайт разработчиков http://www.djangoproject.com/ тому подтверждение. Легкость установки и настройки помогают значительно экономить время. Малое число внешних зависимостей удобно для пользования: все, что нам нужно – это питон. На этом наш цикл статей можно считать завершенным. Конечно, автор не ставил перед собой задачи написать подробный учебник или справочник, скорее здесь речь идет о кратком вводном курсе для разработчиков, желающих освоить новый для себя инструмент.

Код примеров проверялся на версии питона 2.6.

Добавить комментарий