Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
#Круги добра
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр «Дурак подкидной и переводной» — классика карточных игр! Яркий геймплей, простые правила. Развивайте стратегию, бросайте вызов соперникам и станьте королем карт! Играйте прямо сейчас!

Дурак подкидной и переводной

Карточные, Настольные, Логическая

Играть

Топ прошлой недели

  • SpongeGod SpongeGod 1 пост
  • Uncleyogurt007 Uncleyogurt007 9 постов
  • ZaTaS ZaTaS 3 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
Nichteye121
Nichteye121
1 год назад

Выпустил ролик про блог на django+react⁠⁠

да да

еще один гайд на блог,но в рунете нет гайдов на django+react так что держите

Показать полностью
[моё] Программирование Python React Джанго YouTube Видео
3
Nichteye121
Nichteye121
1 год назад

Выпустил гайд по регистрации/логину на django+react⁠⁠

[моё] Python Джанго React Javascript Программирование YouTube Тестирование Развитие Видео
14
Блог компании
Finder
Finder
1 год назад

ТОП-15 курсов Django, включая бесплатное обучение Python-фреймворку Django⁠⁠

Фреймворк Django был назван в честь бельгийского джазового гитариста-виртуоза Django Рейнхардта. Так же легко и непринужденно, как этот гитарист скользил по струнам, Django помогает тысячам сайтов и приложений разрабатывать свои продукты. В их числе Pinterest, Mozilla, The Washington Times и многие другие.

Востребованность программистов, работающих с этим фреймворком постоянно растет. Достаточно обратить внимание на количество активных вакансий на рынке труда – число открытых заявок на прием на работу составляет более 11 тысяч по всей России. Обучиться профессии вам помогут Django курсы, которые предлагают наиболее актуальные программы обучения.

ТОП-15 курсов Django, включая бесплатное обучение Python-фреймворку Django Обучение, Образование, Джанго, Разработка, Длиннопост, YouTube (ссылка), Блоги компаний

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

ТОП-10 лучших курсов Django в 2024 году

  1. Курс Django: создание функциональных веб-приложений от Нетология — лучший курс для повышения квалификации по созданию веб-приложений.

  2. Курс по Python-фреймворку Django от Skillbox.ru — лучший базовый курс с дополнительным изучением системы контроля Git.

  3. Основы Django Framework от GeekBrains — лучший курс для новичков без навыков программирования.

  4. Трек Веб-разработка на Django от Хекслет — лучшие курсы по углубленному изучению отдельных тем по Django.

  5. Возможности Django Admin о которых вы могли не знать от Thinknetica — лучший курс по профессиональной работе с админпанелью.

  6. Python: Django ORM от Хекслет — лучший курс по работе с ORM.

  7. Уроки Python Django / Создание сайта от itProger — лучший курс по разработке сайтов с нуля.

  8. Онлайн-курс Python / Django от ITEA — лучший курс повышения квалификации  для опытных программистов Python.

  9. Курс Python: Django от Хекслет — лучший курс по базам данных с тренажером для отработки практики.

  10. Курс Django 3 — Full Stack разработка веб сайтов на Python от beONmax.com — лучший курс по созданию визуала и механики сайта.

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

Онлайн-курсы Django

1. Курс Django: создание функциональных веб-приложений | Нетология

Онлайн-курс посвящен изучению интерфейса и возможностей Django для проектирования интернет-магазинов и веб-приложений. Выпускники освоят фреймворк, работая с шаблоном проектирования MVC. Центр развития карьеры «Нетология» поможет при подготовке резюме, обеспечит квалифицированную поддержку в поиске работы и даст полезные советы по прохождению собеседования.

ТОП-15 курсов Django, включая бесплатное обучение Python-фреймворку Django Обучение, Образование, Джанго, Разработка, Длиннопост, YouTube (ссылка), Блоги компаний
  • Стоимость: 26600 рублей

  • Длительность: 7 недель

  • Формат обучения: вебинары, практические задания

  • Сертификат: есть

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

  • постоянное сопровождение экспертами-практиками;

  • бессрочный доступ к материалам из программы обучения;

  • использование самого эффективного шаблона проектирования MVC для разработки веб-приложений;

  • бонусный курс по изучению английского языка для начинающего разработчика.

Недостатки курса:

  • не всегда доступны скидки;

  • портфолио состоит всего из двух проектов.

Программа обучения

  • Обработка запроса. Работа с шаблонами

  • Базы данных

  • Взаимодействие с сайтом

  • Бонусный модуль: английский язык для начинающих разработчиков

  • Тестирование

Посмотреть полную программу курса >>

_________________________________________________________

2. Курс по Python-фреймворку Django | Skillbox.ru

Трехмесячный онлайн-курс разработан ведущими экспертами-практиками. С его помощью можно научиться работе с Unit-тестами, использовать профильные инструменты типа virtualenv, pip, PyCharm и Git. В результате выпускники смогут работать над версткой адаптивных сайтов, используя CSS и HTML. Также при помощи Django эксперты научат созданию и оптимизации веб-приложений.

ТОП-15 курсов Django, включая бесплатное обучение Python-фреймворку Django Обучение, Образование, Джанго, Разработка, Длиннопост, YouTube (ссылка), Блоги компаний
  • Стоимость: 30516 рублей

  • Длительность: 3 месяца

  • Формат обучения: вебинары, тестирование на тренажере, самостоятельная работа

  • Сертификат: есть

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

  • можно оформить рассрочку на 6 месяцев;

  • дополнительные модули, включенные в структуру программы;

  • постоянно обновляется по мере появления новых версий фреймворка;

  • можно быстро научиться проектированию легко поддерживаемых проектов.

Недостатки курса:

  • только две работы в портфолио;

  • учебный материал доступен в личном кабинете в течение ограниченного периода времени.

Программа обучения

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

  • Система контроля версий GIT

  • Веб-верстка. Базовый уровень

Посмотреть полное расписание курсов >>>

__________________________________________________________

3. Основы Django Framework | GeekBrains

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

ТОП-15 курсов Django, включая бесплатное обучение Python-фреймворку Django Обучение, Образование, Джанго, Разработка, Длиннопост, YouTube (ссылка), Блоги компаний
  • Стоимость: от 2716 рублей в месяц (рассрочка на 3 года)

  • Длительность: 9 месяцев

  • Формат обучения: вебинары, записи уроков, тестирование на внутренней платформе

  • Сертификат: есть

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

  • идеально подходит новичкам, желающим освоить новую профессию;

  • постоянная практика на внутреннем тренажере;

  • простота изложения теории;

  • помощь в трудоустройстве.

Недостатки курса:

  • не всегда быстро отвечают на отдельные вопросы;

  • нет информации о полной стоимости обучения.

Программа обучения

  • Основы программирования

  • Контроль версий

  • Ознакомление с языками программирования

  • Веб-технологии

  • Особенности Python

  • Погружение в язык программирования Python

  • Работа с фреймворком Django

  • Углубленное изучение контроля версий

Посмотреть полное расписание курсов >>>

__________________________________________________________

4. Трек Веб-разработка на Django | Хекслет

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

ТОП-15 курсов Django, включая бесплатное обучение Python-фреймворку Django Обучение, Образование, Джанго, Разработка, Длиннопост, YouTube (ссылка), Блоги компаний
  • Стоимость: от 3900 рублей в месяц на основе платной подписки

  • Длительность: от 12 до 22 академических часов, в зависимости от выбранного курса

  • Формат обучения: записи вебинаров, тестирование во встроенной платформе

  • Сертификат: отсутствует

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

  • сбалансированный комплекс онлайн-курсов для обучения с нуля и повышения квалификации;

  • свободный график обучения;

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

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

Недостатки курса:

  • отсутствие обратной связи от преподавателей;

  • не все курсы из трека подойдут как новичкам, так и опытным разработчикам.

Программа обучения

  • Протокол HTTP

  • Веб-разработка на Python с использованием небольшого фреймворка Flask

  • Веб-разработка на Python с использованием фреймворка Django

  • Django ORM

  • Менеджер задач

Посмотреть полное расписание курсов >>>

________________________________________________________

5. Возможности Django Admin о которых вы могли не знать | Thinknetica

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

ТОП-15 курсов Django, включая бесплатное обучение Python-фреймворку Django Обучение, Образование, Джанго, Разработка, Длиннопост, YouTube (ссылка), Блоги компаний
  • Стоимость: 990 рублей

  • Длительность: 2 часа

  • Формат обучения: вебинар

  • Сертификат: отсутствует

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

  • нестандартный подход к изучению особенностей панели администратора;

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

  • много практики на занятиях;

  • удобное время проведения вебинара.

Недостатки курса:

  • не подходит новичкам;

  • ориентирован исключительно на практикующих разработчиков, работающих с админпанелью.

Программа обучения

  • Модуль Django.admin.contrib

  • Конфигуратор SiteAdmin

  • Администратор модели

  • Действия администраторов моделей

  • Форма Правки\добавления объектов

Посмотреть полную программу курса >>>

_______________________________________________________

6. Python: Django ORM |  Хекслет

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

ТОП-15 курсов Django, включая бесплатное обучение Python-фреймворку Django Обучение, Образование, Джанго, Разработка, Длиннопост, YouTube (ссылка), Блоги компаний
  • Стоимость: 3900 рублей в месяц

  • Длительность: 12 академических часов

  • Формат обучения: видеоуроки, тесты на тренажере

  • Сертификат: отсутствует

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

  • возможность самостоятельно подобрать график обучения;

  • тестирование проводится в автоматическом режиме на тренажере;

  • к материалам из теории предоставляется бессрочный доступ;

  • упор на практику.

Недостатки курса:

  • не подходит, если у вас пока нулевые знания в Python.

Программа обучения

  • Введение

  • Настройка Django ORM

  • Базовые концепции

  • Модели

  • Формирование запросов данных из БД

  • Работа со связями

  • Тип связи «Многие ко многим»

  • Агрегация и аннотации

  • Транзакции

  • Основы эффективного использования Django ORM

  • Работа с дополнительными материалами и заключение

Посмотреть полное расписание курсов >>>

__________________________________________________________

7. Уроки Python Django / Создание сайта| itProger

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

ТОП-15 курсов Django, включая бесплатное обучение Python-фреймворку Django Обучение, Образование, Джанго, Разработка, Длиннопост, YouTube (ссылка), Блоги компаний
  • Стоимость: 260 евро

  • Длительность: 1,5 месяца

  • Формат обучения: вебинары, практические задания

  • Сертификат: есть

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

  • официальный сертификат о повышении квалификации;

  • комплексная поддержка в трудоустройстве;

  • пополнение портфолио работами и проектами;

  • неограниченный доступ к записям и материалам в течение одного года.

Недостатки курса:

  • курс не подходит новичкам;

  • обучение с повышенным уровнем сложности.

Программа обучения

  • Введение в Django

  • Базы данных. Модели

  • Система URL-адресов

  • Шаблонизатор

  • Практика

  • Формы, валидаторы форм

  • Сlass-based views

  • Аутентификация/авторизация/регистрация пользователей

  • Отправка сообщений на почту/телеграмм

Посмотреть полное расписание курсов >>

________________________________________________________

8. Онлайн-курс Python / Django | ITEA

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

ТОП-15 курсов Django, включая бесплатное обучение Python-фреймворку Django Обучение, Образование, Джанго, Разработка, Длиннопост, YouTube (ссылка), Блоги компаний
  • Стоимость: 260 евро

  • Длительность: 7 недель

  • Формат обучения: вебинары, практические задания

  • Сертификат: есть

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

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

  • возможность заморозить обучение или внести оплату частями;

  • сбалансированная программа в режиме live-занятий;

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

Недостатки курса:

  • не подходит новичкам;

  • программа стартует только после набора группы.

Программа обучения

  • Введение в Django

  • Базы данных. Модели

  • Система URL-адресов

  • Шаблонизатор

  • Практика

  • Формы, валидаторы форм

  • Class-based views

  • Аутентификация/авторизация/регистрация пользователей

  • Отправка сообщений на почту/телеграмм

  • Практика

Посмотреть полное расписание курсов >>>

__________________________________________________________

9. Курс Python: Django |  Хекслет

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

ТОП-15 курсов Django, включая бесплатное обучение Python-фреймворку Django Обучение, Образование, Джанго, Разработка, Длиннопост, YouTube (ссылка), Блоги компаний
  • Стоимость: 3900 рублей в месяц на основе подписки

  • Длительность: 21 академический час

  • Формат обучения: видеоуроки, практика на тренажере

  • Сертификат: отсутствует

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

  • упор на практическое исследование программы через тренажер;

  • доступ к теории предоставляется на бессрочной основе;

  • возможность самостоятельно выбирать удобное время обучения;

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

Недостатки курса:

  • нет обратной связи от преподавателей;

  • отсутствие сертификата о прохождении курса.

Программа обучения

  • Введение

  • Hello World

  • Запрос-ответ

  • Приложения

  • Шаблонизация

  • Наследование шаблонов

  • Представления

  • Маршрутизация

  • Работа с Django ORM

  • Использование моделей

Посмотреть полное расписание курсов >>

___________________________________________________________

10. Курс Django 3 — Full Stack разработка веб сайтов на Python | beONmax.com

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

ТОП-15 курсов Django, включая бесплатное обучение Python-фреймворку Django Обучение, Образование, Джанго, Разработка, Длиннопост, YouTube (ссылка), Блоги компаний
  • Стоимость: по запросу

  • Длительность: 6 месяцев

  • Формат обучения: видеоуроки

  • Сертификат: отсутствует

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

  • объемная программа для изучения Django с нуля;

  • курс включает как backend, так и frontend-разработку сайтов;

  • отсутствие «воды» во всех видеоуроках;

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

Недостатки курса:

  • нет информации о точной стоимости курса;

  • самоучитель, не предусматривающий никакой обратной связи.

Программа обучения:

  • Введение – о курсе

  • Генератор паролей

  • Работа с Git

  • Список дел

  • Личное портфолио

  • Разворачивание сайта в интернет-сети

Посмотреть полное расписание курсов >>

_________________________________________________________

Бесплатные курсы Django

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

1. Django rest framework - Академия АйТи

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

Основные характеристики курса:

  • Django rest framework на русском

  • Django rest framework + vue js

  • Авторизация в приложениях

  • Выполнение post запросов

  • Реализация входа и выхода, вывода диалогов

  • Настройка внешнего вида чата

  • Запуск проектов на сервере

2. Уроки Django - itProger

Это подборка видеоуроков на YouTube, позволяющая научиться работе с Django. Автор постепенно объясняет ключевые особенности фреймворка. После прохождения курса видеоуроков ученики разработают собственный веб-сайт, содержащий массу мелких функций и возможностей.

Основные характеристики курса:

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

  • Установка Django. Менеджер PIP

  • Создание Питон проекта

  • Добавление приложений

  • Работа со статическими файлами

  • Передача данных в шаблоны

3. Веб-технологии. Разработка на Django - VK Team

Альтернативный курс обучения разработке приложений на основе фреймворка Django. Хотя программа была выпущена в 2016 году, ее уровня достаточно, чтобы новички смогли комплексно погрузиться в основы веб-технологий.

Основные характеристики курса:

  • Сетевые протоколы

  • Веб-клиенты

  • Веб-технологии и архитектура приложений

  • Протокол НТТР

  • Веб-сервер

  • Использование моделей в Django

4. Django с нуля на примере создания простого интернет-магазина - Coding Medved

Интересный курс обучения Django для тех, кому нравится практиковаться, а не работать с огромным количеством теоретического материала. Он состоит из 18 видеоуроков средней продолжительностью 25-40 минут. Результатом обучения становится собственный интернет-магазин, который можно будет запустить на сервере.

Основные характеристики курса:

  • Установка на ОС

  • Структура проекта, правила разработки HTML-страницы

  • Добавление модели, админ-панели, сохранение данных в БД

  • Верстка

  • Выбор шаблона для интернет-магазина

  • Django и Ajax

  • Запуск проекта

5. Курс по Django 3 - Django School

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

Основные характеристики курса:

  • Вывод изображений в панели администратора

  • Формы

  • Таблицы в базах данных

  • Особенности третьего поколения фреймворка, отличия от предыдущих версий

Заключение

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

Больше курсов по Django смотрите в нашем каталоге.

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

Показать полностью 11
Обучение Образование Джанго Разработка Длиннопост YouTube (ссылка) Блоги компаний
Nichteye121
Nichteye121
1 год назад

Записал гайд по созданию интернет магазина на django⁠⁠

я школьник,не ругайте супер сильно

[моё] Python Джанго Программирование Web-программирование Видеоуроки Видео YouTube
1
Nichteye121
Nichteye121
1 год назад

Записал мини краш курс по джанго⁠⁠

записал мини краш курс по джанго

я школьник так что не ругайте сильно

мой гитхаб -https://github.com/Nicheye

Показать полностью
[моё] Джанго Python Программирование IT Видео YouTube
4
2
soaqa
soaqa
2 года назад
Программирование на python

ПРИКРУЧИВАЕМ DJANGO REST FRAMEWORK⁠⁠

[моё] YouTube IT Программирование Python Джанго Видео
0
12
tricky88
2 года назад

Простой бэкап базы данных Postgres и статики для небольшого Django-проекта⁠⁠

Друзья, всем привет!
Помимо основной работы инженером данных, я поддерживаю небольшой сайт на Django (посвящен информационным материалам по преподаванию истории и обществознания).

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

Сразу скажу, что такой подход подойдет для баз, размер которых не является астрономическим (сотни гигабайт), в моем случае база весит всего 50 Мб, статика около 400 - поэтому мне не составляло большого труда синхронизировать такие объемы. Думаю, небольшие и даже средние интернет магазины и блоги вряд ли хранят на порядки больше данных.

Для больших проектов, лучше бэкапы архивировать, шифровать и отправлять куда нибудь в s3 типа  Minio.

Когда новая инфа на сайте появлялась довольно редко, я все делал руками, а именно:

  • заходил на удаленный сервер, где крутится сайт,  по ssh

  • выполнял команду для создания полной копии БД
    sudo -u postgres pg_dumpall -c -f {remote_db_copy_file_path

  • потом переключался в терминал ос рабочего ноута, создавал папку с названием, соответствующем дате бэкапа

  • с помощью утилиты scp, копировал с удаленной машины с сайтом бэкап, полученный в пункте 2 - т.е. типа такой команды
    scp -r {remote_user}@{remote_host}:{remote_media_path} {local_media_full_path}

  • опять же с помощью scp копировал статику с файлами из папки

  • удалял файл бэкапа из папки на удаленном сервере

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

https://github.com/Riddik1993/DB-and-static-copy-from-remote

Давайте более подробно рассмотрим, как он работает:

  1. Делается подключение по ssh с помощью библиотеки paramiko, сделал с помощью файла rsa-key, который paramiko ищет автоматом, соответственно пароль указывать не надо

В скрипте за подключение отвечает функция _initialize_ssh_client

  1. Получаем название файла с копией БД, которую необходимо будет создать, с помощью функции _get_db_copy_remote_filename. Принцип простой, берем текущее время и дату, и подставляем в название файлика, получается что то типа “01072023_155045.sql". К этому имени подставится путь, взятый из переменной окружения REMOTE_DBCOPY_FOLDER

  2. Похожим образом задаются переменные, чтобы понимать, куда потом надо сложить на локальной машине копию базы, и как назвать папку для копии статических файлов. Т.е. это маленькие функции _get_db_copy_full_path и _create_local_media_folder, тоже работающие с переменными окружения

  3. Функция make_db_backup собственно делает сам бэкап, через команду pg_dumpall, предварительно выдав права юзеру postgres на папку, куда положится бэкап

  4. Бэкап грузится на локальную машину (upload_db_backup_to_local_machine)

  5. Старые бэкапы  удаляются с сервера (delete_old_copies_on_remote). Важно отметить, что срок актуальности бэкапа в днях можно задать в конфиге через переменную old-db-copies-exp-period. Потом данный период подставится в команду утилиты find.

  6. Ну и в конце, функция copy_media_files_to_local перекачивает статику с сервера на локальную машину

С алгоритмом работы понятно, теперь давайте распишу, что вам надо сделать, чтобы у Вас тоже все запустилось и работало,

  1. Иметь интерпретатор питона на локальной машине

  2. Скачать репозиторий с моего гитхаба https://github.com/Riddik1993/DB-and-static-copy-from-remote

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

Также это стоит сделать и не только ради скрипта с копированием базы, но и просто из соображений безопасности - так как по паролю ваш сервер гораздо легче взломать чем через ключ rsa

  1. Находясь в папке скаченного репозитория, вводим в терминале команду pip install requirements.txt и ставим нужные для скрипта зависимости. Если не хотите ставить их глобально, но создайте виртуальное окружение сначала и ставьте туда

  2. Обращаем внимание на файл config.conf. Надо создать переменные окружения, которые указаны внутри фигурных скобок - это можно сделать, отредактировав файл ~/.bashsrc

Просто открываем этот файлик, добавляем строчки такого формата

export REMOTE_USER=”username”

Сохраняем, вводим команду

source ~/.bashsrc

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

  1. Когда все сделано, в терминале в папке репозитория запускаем команду python3 make_db_media_copy.py

В выводе вы увидите логирование всех стадий работы скрипта.

Простой бэкап базы данных Postgres и статики для небольшого Django-проекта Гайд, Python, Джанго, Postgres, Длиннопост

Файл с копией базы положился в папку, название которой хранится в переменной LOCAL_DBCOPY_PATH

Простой бэкап базы данных Postgres и статики для небольшого Django-проекта Гайд, Python, Джанго, Postgres, Длиннопост

Медиафайлы положились в папку, которую скрипт предварительно создал, в указанной нами директории LOCAL_MEDIA_PATH

Простой бэкап базы данных Postgres и статики для небольшого Django-проекта Гайд, Python, Джанго, Postgres, Длиннопост

Если что то упало - в принципе будет ясно почему (смотри скриншот с логами). Но если что. пишете в комментариях - всегда рад помочь)

Простой бэкап базы данных Postgres и статики для небольшого Django-проекта Гайд, Python, Джанго, Postgres, Длиннопост

Также пишите, как делаете логирование Вы)

Если понравилось, буду рад приветствовать вас в своем телеграм канале, куда публикую интересные обзоры питон-функций, разборы задачек с собеседований, ну и просто интересные мысли.

Показать полностью 4
Гайд Python Джанго Postgres Длиннопост
7
6
bertramvays
bertramvays
2 года назад
Программирование на python

Прошу помощи в разьяснении тестового задания на долность Python-разработчика⁠⁠

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

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

И так задание:

Необходимо создать сервер авторизации и новостей с комментариями и лайками на Django с использованием RestFramework на python 3.

  • У каждого пользователя может быть две роли – пользователь и админ, админ может зайти в админ-панель, пользователь – нет. Как именно решить эту задачу не принципиально. Плюсом будет создание кастомного класса для авторизации наследуемого от BaseAuthentication - нам важно видеть как вы решите эту задачу.

  • Каждый пользователь может создать новость. Все пользователи могут получать списки всех новостей с пагинацией. Пользователи могут удалять и изменять свои новости. Админ может удалять и изменять любую новость.

  • Также нужно добавить механизм лайков и комментариев новостей – лайкать и комментировать может любой пользователь, автор может удалять комментарии к своим новостям, админ может удалять любые комментарии.
    При получении списка новостей и одной конкретной новости нужно показать количество лайков и комментариев. Плюсом будет добавление списка последних 10 комментариев при получении списка новостей и одной новост.
    Плюсом будет реализация механизма через микросервис.

Исходный код приложения необходимо выложить на GitLab или GitHub и запустить сервер. Сервер должен быть доступен для запросов из внешней сети, доступ к серверу (IP или доменное имя) а также роут для доступа к АПИ должны быть в README.md репозитория.

Краткий мануал по созданию виртуального сервера на базе яндекс.облака для новых пользователей даётся бесплатный период использования:
https://cloud.yandex.ru/docs/compute/quickstart/quick-create-linux

Также бесплатный сервер t2 micro можно поднять на Amazone:
https://us-east-2.console.aws.amazon.com/ec2/v2/home

  • Желательно:

  • контейнеризация в Docker

  • использование python venv

  • использование web сервера CherryPy, gunicorn и им подобных (какого-нибудь одного)

  • демонстрация понимание механизма миграций моделей (можно сделать несколько изменений в какой-либо модели и показать миграции)

  • использование .env файла для хранения информации о подключении к базе данных

  • файл README.md с описанием скриптов для разворачивания окружения и запуска сервера

    Модели:

  • Users (имя пользователя, пароль в зашифрованном виде)

  • News (дата новости, заголовок новости, текст новости, автор)

  • Comments (Дата комментария, текст комментария, автор)

  • Опционально: Tokens (при авторизации можно создавать токены и хранить их в базе или использовать JWT токены)

    Роуты

  • POST auth (передаем имя пользователя и пароль, получаем токен если пользователь с таким паролем есть и ошибку, если такого пользователя нет)

  • GET news (получаем список новостей с пагинацией)

  • POST news (создаем новость, проверка на авторизацию)
    PUT news (обновляем новость, проерка на атворизацию, проверка на наличие прав)

  • DELETE news

  • GET comments (получение списка комментариев новости с пагинацией)

  • POST comments (создание нового комментария, проверка на авторизацию)

  • DELETE comments

    Админка

  • Нужна стандартная админка Django (пользователи админки могут не пересекаться с пользователями в таблице Users)

Что мне непонятно:

1. Первое на чем я застрал это модель Users. Что мне нужно делать, использовать встроенную модель Django - User или создавать свою? Можно расширить джанговскую или создать прокси модель. Но я не понимаю, как хранить пароль, какой тип поля выбирать для этого? На даном этапе я создал модель News c полем ForeignKey(User).

2. Правильно ли я понял, что для выполнения задания создавать html-шаблон для отображения новостей не нужно? Хотя наверное это будет плюсом.

3. Для реализации механизмов коментариев и лайков в качестве микросервиса, нужно создать его как отдельное Django-приложение, а потом оформить как пакет и выкладывать на отдельном сервере?

4. В начале я пытался в качестве веб-сервера прикрутить CherryPY, но нашел только инструкции 10-летней давности. В итоге запускаю через Gunicorn, для него инструкция в документации Django. После запуска в админке Django, не отображалась статика, поэтому я установил Nginx. Это правильная последовательность действий или нужно было по другому делать?

5. Когда я сделаю проект, Nginx нужно устанавливать в Docker с остальными зависимостями? Создание докер-образа это одна задача, а разворачивание на сервере другая, или можно этот образ развернуть на сервере?

6. Еще читал, что плохая практика пихать в один образ Django-проект и БД, как лучше поступить в моем случае?

Заранее спасибо за ответы.

P.S. я откликался на вакансию Мидла, поэтому вариант задавать все эти вопросы рекрутеру с последующей переадресацией спецам я не рассматривал.

Показать полностью
Python Джанго Rest Программирование Длиннопост Текст
12
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии