Django
Модуль из 5 уроков

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

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

Это второй модуль по Django в курсе Девмана. Первый был подготовительный — про базы данных и ORM. Этот же модуль завершит вашу подготовку в качестве juniour backend-разработчика. После смело отправляйтесь на собеседование.

Задачами поделился
Евгений Евсеев
Тимлид и веб-разработчик со стажем 10 лет. Один из основателей «Девмана». Евгений проектирует веб-сервисы, пишет библиотеки для Python и JavaScript. Еще руководит командами: выбирает технологии, нанимает людей и проводит ревью кода. В том числе, он проверяет задачи, которые вы решаете на «Девмане». Евгений перфекционист, поэтому не пугайтесь, если после его ревью поймете задачу и тему по-настоящему.
Урок 1 из 5
Пишем Яндекс.Афишу
Пишем Яндекс.Афишу
На старте вы получите фронтенд для сайта-афиши, интерфейс которой напоминает Яндекс.Карты. Там есть вёрстка и JavaScript, но совсем нет бекенда. Дальше всё делаете сами...
Бекенд с нуля
Вы начнёте свой Django-проект с нуля: модели данных, url-схема, views — всё сами. А после нашего ревью вы будете уверены, что всё сделали правильно.
Проверьте знания фронтенда и Django ORM
Этот модуль предполагает, что вы уже знаете Django ORM и умеете управляться с фронтендом. Этот урок хорошо проверит вас на прочность: придётся применить все эти навыки в деле.
21 задание
8 учебных часов
ревью кода
Урок 2 из 5
Прикручиваем заказы к интернет-магазину
Прикручиваем заказы к интернет-магазину
Вы напишете сайт для доставки еды. Работать будете не с чистого листа, а с большой чужой кодовой базой. Это сложнее: добавляя новое нельзя ломать старое. Ваша задача — аккуратно добавить несколько фич: фильтрация товаров, пагинация, акции.
Напишите своё API
Сейчас всё больше проектов отказываются от серверной шаблонизации в пользу фронтенда. Из-за этого растёт популярность DRF: это специальный инструмент для создания API на Django. Хотя бы знакомство с этой технологией сильно расширит ваши возможности.
+20 к трудоустройству
DRF есть в требованиях почти во всех вакансиях и часто встречается в тестовых заданиях. Эта технология в портфолио значительно повысит ваши шансы на трудоустройство.
21 задание
10 учебных часов
ревью кода
Урок 3 из 5
Деплой по-взрослому
Деплой по-взрослому
Сайт бесполезен до тех пор, пока его не запустили на сервере. Без опыта это сделать не так и просто, а вот ошибиться и оставить уязвимость — совсем леко. Сделайте это один раз под присмотром, научитесь и сможете дальше действовать самостоятельно.
Не просто runserver
Все, кто работал с Django умеют использовать runserver. Но runserver — это не production-решение. Чтобы уронить такой сайт достаточно зайти на него с медленным интернетом. Ваши сайты не должны падать так просто: в этом уроке вы будете запускать сайт через NGinx и Gunicorn.
Мониторинг и логирование
Даже если код выглядит и пахнет как рабочий, он всё ещё может сломаться от неудачного и редкого стечения обстоятельств. Такие ошибки сложно воспроизвести и ещё сложнее о них узнать. В этом уроке вы решите проблему с помощью популярной системы логирования Rollbar.
20 заданий
11 учебных часов
ревью кода
Урок 4 из 5
Заказываем билеты
Заказываем билеты
Вы сделаете сайт-агрегатор отелей и билетов в отпуск. И вновь, это не проект с нуля, а добавление фич в готовый продукт, так что готовьтесь к хардкору.
Читайте чужой код
Джуны редко стартуют свой проект с нуля. Чаще им достаётся уже работающий сайт: это нужно добавить, это убрать, а это починить. В этом модуле вы научитесь читать код быстро, эффективно: обращать внимание на важное и пропускать ненужное.
Будьте уверены в навыках
Многие новички сумеют добавить фильтр товаров в интернет-магазине, но мало кто сделает это правильно. Задача эта супер-частая, но и в ней хватает своих подводных камней, об которые легко разбиться. Здесь вы научитесь их замечать и лавировать между ними.
21 задание
17 учебных часов
ревью кода
Урок 5 из 5
Пишем тесты для Django
Пишем тесты для Django
К этому уроку вы будете уже уверенно владеть Django. Следующий шаг — перейти от написания кода к его автоматическому тестированию. В этом уроке вы покроете тестами проект из предыдущего урока.
Галочка к резюме
В некоторых вакансиях Unit-тестирование и Django тесты — обязательное требование, а в некоторых — огромный плюсом к портфолио.
Пора на работу!
Если вы так и не устроились джуном, то после этого модуля — самое время. Осталось хорошо одеться, навести порядок на GitHub, и в путь!
13 заданий
17 учебных часов
ревью кода
Навыки и технологии

Мы продаём навыки, а не знания. В задачах модуля вы отработаете:

  • создание каталога товаров с фильтрами
  • создание JSON API с помощью DRF
  • написание тестов для Django
  • деплой на сервер
  • работу с большой кодовой базой

Учебные материалы встроены в модуль.

Минимальные требования

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

‣ Писать программы на 400+ строк кода

‣ Читать английскую документацию

‣ Работать с базой данных через ORM

‣ Верстать HTML-страницы

‣ Размещать код на GitHub

‣ Запускать программы из командной строки: cmd.exe на Windows или bash на Mac / Linux

Как подготовиться
Рекомендуем начать подготовку с более простых модулей
API веб-сервисов
6 уроков, 78 заданий
  • HTTP
  • ВКонтакте API
  • Instagram API
  • схема url
  • библиотека requests
  • REST API
Купить
2 500 Р
Первый урок бесплатный
Знакомство с Django: ORM
6 уроков, 108 заданий
  • запросы
  • поля
  • модели
  • поиск по полям
  • миграции
Купить
5 000 Р
Первый урок бесплатный
Вёрстка для питониста
8 уроков, 152 задания
  • HTML и CSS
  • Bootstrap
  • отладка в браузере
  • парсинг
  • шаблонизация
  • формы
Купить
6 000 Р
Первый урок бесплатный
Об эксперте
Евгений Евсеев

Евгений начал учить программированию на Python в 2012 году cначала в стенах МГТУ им. Н. Э. Баумана, затем онлайн. С 2016 года преподает на курсе «Девмана», готовит учеников к работе в IT-компаниях .

В задачах от Евгения — концентрация внимания к бизнесу и его требованиям. Ведь программирование не может существовать без коммерческого интереса, заказчика и пользователя.

Кроме Python Евгений разбирает с учениками Flask, Django и Docker. Тайно любит JS, но мы вам этого не говорили.

Что вы получите
5 уроков
Теория и практические советы. Кратко и по делу.
Пошаговые инструкции
Покажем, как подступиться к решению задач из реального мира.
Кодревью
Преподаватель подскажет, как повысить качество кода.
Неограниченный доступ к учебным материалам
Занимайтесь в удобное время, в своем темпе.
Знания, необходимые для следующего шага
Эти знания помогут вам в следующих сложных модулях:

Посмотрите другие модули
API веб-сервисов
6 уроков, 78 заданий
  • HTTP
  • ВКонтакте API
  • Instagram API
  • схема url
  • библиотека requests
  • REST API
Купить
2 500 Р
Первый урок бесплатный
Знакомство с Django: ORM
6 уроков, 108 заданий
  • запросы
  • поля
  • модели
  • поиск по полям
  • миграции
Купить
5 000 Р
Первый урок бесплатный
Командная строка
5 уроков, 41 задание
  • bash
  • cd, ls, pwd
  • nano, vim
  • запуск программ
  • permissions
  • env variables
Git и GitHub
5 уроков, 49 заданий
  • коммиты
  • клонирование
  • форк
  • история
  • ветки
Асинхронный Python
9 уроков, 146 заданий
  • asyncio
  • aiohttp
  • сокеты
  • стриминг
  • чаты
Купить
7 000 Р
Первый урок бесплатный
Django REST Framework
выйдет в 2020 году
  • CRUD
  • serializers
  • JWT
  • наследование
  • версионирование
  • тестирование
Docker
выйдет в 2020 году
  • Dockerfile
  • volumes
  • networks
  • docker-compose
  • docker-machine
  • Docker Hub
Чат-боты на Python
7 уроков, 107 заданий
  • Telegram
  • ВКонтакте
  • Redis
  • deploy
  • long polling
  • state machine
Купить
8 000 Р
Первый урок бесплатный
Знакомство с Python
8 уроков, 93 задания
  • переменные
  • функции
  • циклы
  • условия
  • строки
  • списки
  • словари
  • библиотеки
  • файлы
Купить
5 000 Р
Первый урок бесплатный
Устраиваемся на работу
в разработке
  • HeadHunter
  • исследование рынка
  • воронка продаж
  • конверсии
  • собеседование
15 000 Р
Вёрстка для питониста
8 уроков, 152 задания
  • HTML и CSS
  • Bootstrap
  • отладка в браузере
  • парсинг
  • шаблонизация
  • формы
Купить
6 000 Р
Первый урок бесплатный