1. Урок 1.00:02:59
    Введение
  2. Урок 2.00:05:32
    Какие технологии и инструменты будут применяться.
  3. Урок 3.00:02:19
    Установка Python
  4. Урок 4.00:03:22
    Начальные настройки Visual Studio Code PyCharm
  5. Урок 5.00:05:18
    Виртуальное окружение. Что это?
  6. Урок 6.00:08:28
    Установка virtualenv и создание виртуального окружения.
  7. Урок 7.00:09:14
    Установка Django
  8. Урок 8.00:07:20
    Настройки PyCharm
  9. Урок 9.00:06:09
    Настройки Visual Studio Code
  10. Урок 10.00:04:05
    Как компоненты Django взаимодействуют между собой.
  11. Урок 11.00:08:34
    Детальнее о файла settings и urls
  12. Урок 12.00:09:43
    Что из себя представляет стандартная админка.
  13. Урок 13.00:11:39
    Первая html страничка
  14. Урок 14.00:04:53
    Добавляем логику в функцию отображения
  15. Урок 15.00:07:42
    Подвязываем к проекту адрес GitHub-репозитория
  16. Урок 16.00:10:48
    Создание нового приложения
  17. Урок 17.00:12:33
    Миграции.
  18. Урок 18.00:11:05
    Руссификация приложения. Обзор доступных полей для Модели.
  19. Урок 19.00:07:44
    Создание новой модели - Язык программирования
  20. Урок 20.00:08:56
    Формируем slug автоматически. Метод save()
  21. Урок 21.00:12:50
    Модель для сохранения вакансий
  22. Урок 22.00:09:27
    Добавление модели с вакансиями в админку.
  23. Урок 23.00:13:26
    Интерактивная консоль shell.
  24. Урок 24.00:13:14
    QuerySet - ещё немного методов
  25. Урок 25.00:12:02
    Зачем нужен Bootstrap. Несколько слов об этом фреймворке.
  26. Урок 26.00:11:46
    Функция для отображения вакансий
  27. Урок 27.00:09:51
    Шаблонный тэг for. Вывод списка вакансий
  28. Урок 28.00:11:24
    Шаблонные тэги extend и block
  29. Урок 29.00:11:11
    Улучшения отображения страниц сайта
  30. Урок 30.00:11:24
    Настройка PyCharm для работы с шаблонными тэгами
  31. Урок 31.00:08:30
    Добавление информации о городе, ЯП и дате.
  32. Урок 32.00:15:20
    html-форма
  33. Урок 33.00:13:59
    Поиск по параметрам из формы
  34. Урок 34.00:11:55
    Форма, как встроенный класс в Django
  35. Урок 35.00:13:55
    Передача slug через форму
  36. Урок 36.00:04:42
    Окончательное оформление страницы с формой
  37. Урок 37.00:13:01
    Варианты расширения стандартной модели User
  38. Урок 38.00:14:01
    Переопределение стандартной модели User. Создаем собственную модель.
  39. Урок 39.00:12:26
    Кастомный менеджер модели.
  40. Урок 40.00:07:52
    Рестарт проекта с кастомной моделью MyUser
  41. Урок 41.00:11:22
    Несколько слов о том, как получать данные с сайтов.
  42. Урок 42.00:10:50
    Получение html-страницы с сайта work.ua
  43. Урок 43.00:09:57
    Принципы поиска данных внутри html-текста
  44. Урок 44.00:20:18
    Сбор (скрапинг) данных с сайта work.ua
  45. Урок 45.00:14:27
    Финализируем функционал для work.ua
  46. Урок 46.00:12:07
    Основные критерии для поиска на сайте rabota.ua
  47. Урок 47.00:13:00
    rabota.ua - финализируем парсинг
  48. Урок 48.00:16:58
    Скрапинг данных с сайта dou.ua
  49. Урок 49.00:17:14
    Скрапинг данных с сайта djinni.co
  50. Урок 50.00:14:57
    Создание функции по запуску всех парсеров.
  51. Урок 51.00:10:32
    Запуск Django вне самого проекта.
  52. Урок 52.00:13:17
    Сохранение полученных вакансий в БД
  53. Урок 53.00:08:50
    Модель Error для сохранения ошибок
  54. Урок 54.00:09:04
    Как и где хранить адреса для парсеров.
  55. Урок 55.00:10:44
    Модель Url
  56. Урок 56.00:14:48
    Получение уникальных наборов пар город-ЯП, из таблицы с пользователями
  57. Урок 57.00:13:17
    Получения набора урлов, согласно данных от пользователей.
  58. Урок 58.00:14:09
    Запуск функций скрапинга с полученными из БД данными
  59. Урок 59.00:16:08
    Несколько слов об асинхронном запуске функций
  60. Урок 60.00:10:58
    Асинхронный запуск функций для скрапинга.
  61. Урок 61.00:13:12
    Реорганизация функций отображения.
  62. Урок 62.00:08:50
    Пагинация. Подключение к функции отображения.
  63. Урок 63.00:18:13
    Пагинация. Улучшение отображения с помощью Bootstrap.
  64. Урок 64.00:20:04
    Форма для входа пользователя
  65. Урок 65.00:19:09
    Функции входа\выхода пользователя
  66. Урок 66.00:08:59
    Регистрация нового пользователя. Форма.
  67. Урок 67.00:16:39
    Функция для регистрации нового пользователя.
  68. Урок 68.00:16:16
    Форма для изменения настроек пользователя.
  69. Урок 69.00:13:15
    Изменение данных. Удаление пользователя.
  70. Урок 70.00:15:33
    Система информирования messages.
  71. Урок 71.00:18:25
    Рассылка писем. Какие есть варианты.
  72. Урок 72.00:13:14
    Настройки, необходимые для отправки писем через gmail
  73. Урок 73.00:09:21
    Отправка писем подписчикам. Начальный функционал.
  74. Урок 74.00:13:44
    Получение данных от подписчиков - кому и что необходимо отправлять
  75. Урок 75.00:15:32
    Формирование html-содержимого текста письма
  76. Урок 76.00:11:14
    Финализируем функционал по отправке писем подписчикам.
  77. Урок 77.00:13:07
    Информирование админа об ошибках скрапинга
  78. Урок 78.00:09:02
    Отправка письма админу с ошибками скрапинга
  79. Урок 79.00:16:02
    Поиск отсутствующих урлов и отправка информации о них админу.
  80. Урок 80.00:14:16
    Пожелания от подписчиков для добавления необходимых им города и\или ЯП.
  81. Урок 81.00:09:09
    Изменение логики сохранения ошибок, полученных от функций скрапинга.
  82. Урок 82.00:21:34
    Форма для контакта с администрацией и функция обработки этой формы
  83. Урок 83.00:23:10
    Финализируем функционал по отправке информации админу
  84. Урок 84.00:14:24
    Добавление favicon.ico. Кнопка сокрытия формы для контакта с админом.
  85. Урок 85.00:15:30
    Добавление шрифта для модификации отображения лого
  86. Урок 86.00:10:48
    Общая информация о сервисах для хостинга
  87. Урок 87.00:10:08
    Разделение настроек на локальные и для деплоя
  88. Урок 88.00:10:42
    Установка необходимых библиотек.
  89. Урок 89.00:10:44
    Определение переменных окружения для БД и отправки писем
  90. Урок 90.00:16:06
    Заливаем проект на Heroku
  91. Урок 91.00:10:48
    Страницы ошибок и запуск задач по рассписанию.
  92. Урок 92.00:14:25
    Вьюхи на основе классов.
  93. Урок 93.00:18:39
    DetailView
  94. Урок 94.00:14:14
    ListView
  95. Урок 95.00:15:52
    CreteView
  96. Урок 96.00:08:51
    UpdateView
  97. Урок 97.00:08:48
    DeleteView
  98. Урок 98.00:13:27
    Related Menager - получение записей по связям ForeignKey
  99. Урок 99.00:12:59
    N+1 запрос, как от этого уйти? Метод select_related
  100. Урок 100.00:02:10
    Финал
  101. Урок 101.00:07:40
    Первоначальная настройка
  102. Урок 102.00:08:35
    Настройка PostgreSQL
  103. Урок 103.00:16:06
    Клонируем код проекта
  104. Урок 104.00:14:55
    Настройки nginx и supervisor