Выпустил ролик про блог на django+react
да да
еще один гайд на блог,но в рунете нет гайдов на django+react так что держите
Фреймворк Django был назван в честь бельгийского джазового гитариста-виртуоза Django Рейнхардта. Так же легко и непринужденно, как этот гитарист скользил по струнам, Django помогает тысячам сайтов и приложений разрабатывать свои продукты. В их числе Pinterest, Mozilla, The Washington Times и многие другие.
Востребованность программистов, работающих с этим фреймворком постоянно растет. Достаточно обратить внимание на количество активных вакансий на рынке труда – число открытых заявок на прием на работу составляет более 11 тысяч по всей России. Обучиться профессии вам помогут Django курсы, которые предлагают наиболее актуальные программы обучения.
После анализа более 50 курсов по веб-фреймворку Django, эксперты Kursfinder собрали 15 лучших, которые научат вас создавать мощные веб-приложения. Мы дополнили список бесплатными предложениями, чтобы вы смогли начать знакомство с фреймворком уже сегодня. Больше актуальных курсов по Django и промокоды на скидку ожидают вас в нашем каталоге.
Курс Django: создание функциональных веб-приложений от Нетология — лучший курс для повышения квалификации по созданию веб-приложений.
Курс по Python-фреймворку Django от Skillbox.ru — лучший базовый курс с дополнительным изучением системы контроля Git.
Основы Django Framework от GeekBrains — лучший курс для новичков без навыков программирования.
Трек Веб-разработка на Django от Хекслет — лучшие курсы по углубленному изучению отдельных тем по Django.
Возможности Django Admin о которых вы могли не знать от Thinknetica — лучший курс по профессиональной работе с админпанелью.
Python: Django ORM от Хекслет — лучший курс по работе с ORM.
Уроки Python Django / Создание сайта от itProger — лучший курс по разработке сайтов с нуля.
Онлайн-курс Python / Django от ITEA — лучший курс повышения квалификации для опытных программистов Python.
Курс Python: Django от Хекслет — лучший курс по базам данных с тренажером для отработки практики.
Курс Django 3 — Full Stack разработка веб сайтов на Python от beONmax.com — лучший курс по созданию визуала и механики сайта.
Курсы подойдут тем, кто желает вести разработку backend-части интернет-сайтов и веб-приложений, научившись основам программирования с нуля. Некоторые курсы, представленные в подборке, дают программистам с опытом возможность повысить квалификацию для более эффективного использования функционала фреймворка с учетом запросов бизнеса. Выпускники смогут легко вести работу над проектами любого уровня сложности.
1. Курс Django: создание функциональных веб-приложений | Нетология
Онлайн-курс посвящен изучению интерфейса и возможностей Django для проектирования интернет-магазинов и веб-приложений. Выпускники освоят фреймворк, работая с шаблоном проектирования MVC. Центр развития карьеры «Нетология» поможет при подготовке резюме, обеспечит квалифицированную поддержку в поиске работы и даст полезные советы по прохождению собеседования.
Стоимость: 26600 рублей
Длительность: 7 недель
Формат обучения: вебинары, практические задания
Сертификат: есть
Преимущества курса:
постоянное сопровождение экспертами-практиками;
бессрочный доступ к материалам из программы обучения;
использование самого эффективного шаблона проектирования MVC для разработки веб-приложений;
бонусный курс по изучению английского языка для начинающего разработчика.
Недостатки курса:
не всегда доступны скидки;
портфолио состоит всего из двух проектов.
Программа обучения
Обработка запроса. Работа с шаблонами
Базы данных
Взаимодействие с сайтом
Бонусный модуль: английский язык для начинающих разработчиков
Тестирование
_________________________________________________________
Трехмесячный онлайн-курс разработан ведущими экспертами-практиками. С его помощью можно научиться работе с Unit-тестами, использовать профильные инструменты типа virtualenv, pip, PyCharm и Git. В результате выпускники смогут работать над версткой адаптивных сайтов, используя CSS и HTML. Также при помощи Django эксперты научат созданию и оптимизации веб-приложений.
Стоимость: 30516 рублей
Длительность: 3 месяца
Формат обучения: вебинары, тестирование на тренажере, самостоятельная работа
Сертификат: есть
Преимущества курса:
можно оформить рассрочку на 6 месяцев;
дополнительные модули, включенные в структуру программы;
постоянно обновляется по мере появления новых версий фреймворка;
можно быстро научиться проектированию легко поддерживаемых проектов.
Недостатки курса:
только две работы в портфолио;
учебный материал доступен в личном кабинете в течение ограниченного периода времени.
Программа обучения
Python-фреймворк Django
Система контроля версий GIT
Веб-верстка. Базовый уровень
__________________________________________________________
3. Основы Django Framework | GeekBrains
Базовый онлайн-курс для новичков, ориентированный на практическое освоение фреймворка. Преподаватели расскажут о создании приложений, сайтов, нейросетей и телеграмм-ботов, используя язык программирования Python через фреймворк Django. Это длительная программа, позволяющая получить как базовую специализацию, так и технологическую.
Стоимость: от 2716 рублей в месяц (рассрочка на 3 года)
Длительность: 9 месяцев
Формат обучения: вебинары, записи уроков, тестирование на внутренней платформе
Сертификат: есть
Преимущества курса:
идеально подходит новичкам, желающим освоить новую профессию;
постоянная практика на внутреннем тренажере;
простота изложения теории;
помощь в трудоустройстве.
Недостатки курса:
не всегда быстро отвечают на отдельные вопросы;
нет информации о полной стоимости обучения.
Программа обучения
Основы программирования
Контроль версий
Ознакомление с языками программирования
Веб-технологии
Особенности Python
Погружение в язык программирования Python
Работа с фреймворком Django
Углубленное изучение контроля версий
__________________________________________________________
4. Трек Веб-разработка на Django | Хекслет
Этот трек состоит из онлайн-курсов, содержащих модули с основными понятиями о веб-разработке на языке программирования Python с использованием фреймворка Джанго. Треки отлично подходят для опытных разработчиков и новичков. В материале уже присутствует вся необходимая теория, а после прохождения каждого курса ученику нужно пройти тесты прямо в браузере.
Стоимость: от 3900 рублей в месяц на основе платной подписки
Длительность: от 12 до 22 академических часов, в зависимости от выбранного курса
Формат обучения: записи вебинаров, тестирование во встроенной платформе
Сертификат: отсутствует
Преимущества курса:
сбалансированный комплекс онлайн-курсов для обучения с нуля и повышения квалификации;
свободный график обучения;
после каждого модуля проходит обязательное тестирование;
дополнительные материалы уже доступны в личном кабинете.
Недостатки курса:
отсутствие обратной связи от преподавателей;
не все курсы из трека подойдут как новичкам, так и опытным разработчикам.
Программа обучения
Протокол HTTP
Веб-разработка на Python с использованием небольшого фреймворка Flask
Веб-разработка на Python с использованием фреймворка Django
Django ORM
Менеджер задач
________________________________________________________
5. Возможности Django Admin о которых вы могли не знать | Thinknetica
Тематический онлайн-курс для профессиональных разработчиков, который поможет повысить вашу квалификацию. Программа продемонстрирует возможности панели администратора, о которых вы либо не знали, либо никогда не использовали. Авторы онлайн-курса делают упор на нестандартном изучении возможностей админпанели, а также помогают ученикам устранять ряд архитектурных ошибок, которыми характеризуется модуль Django.contrib.admin.
Стоимость: 990 рублей
Длительность: 2 часа
Формат обучения: вебинар
Сертификат: отсутствует
Преимущества курса:
нестандартный подход к изучению особенностей панели администратора;
позволяет масштабировать работу админпанели, сохраняя при этом простоту обслуживания проекта;
много практики на занятиях;
удобное время проведения вебинара.
Недостатки курса:
не подходит новичкам;
ориентирован исключительно на практикующих разработчиков, работающих с админпанелью.
Программа обучения
Модуль Django.admin.contrib
Конфигуратор SiteAdmin
Администратор модели
Действия администраторов моделей
Форма Правки\добавления объектов
_______________________________________________________
6. Python: Django ORM | Хекслет
Онлайн-курс помогает начинающим разработчикам ориентироваться в Django ORM как базовом методе работы с данными в фреймворке. При прохождении программы студенты узнают о правилах описания связей между моделями, формировании запросов и их миграции. Этот курс является дополнением к базовому треку, описанному выше.
Стоимость: 3900 рублей в месяц
Длительность: 12 академических часов
Формат обучения: видеоуроки, тесты на тренажере
Сертификат: отсутствует
Преимущества курса:
возможность самостоятельно подобрать график обучения;
тестирование проводится в автоматическом режиме на тренажере;
к материалам из теории предоставляется бессрочный доступ;
упор на практику.
Недостатки курса:
не подходит, если у вас пока нулевые знания в Python.
Программа обучения
Введение
Настройка Django ORM
Базовые концепции
Модели
Формирование запросов данных из БД
Работа со связями
Тип связи «Многие ко многим»
Агрегация и аннотации
Транзакции
Основы эффективного использования Django ORM
Работа с дополнительными материалами и заключение
__________________________________________________________
7. Уроки Python Django / Создание сайта| itProger
Онлайн-курс для продвинутых программистов на Python, которые желают усовершенствовать навыки разработки интернет-сайтов, либо перейти на новое для себя направление. Программа позволяет ознакомиться с принципами профессиональной разработки коммерческих веб-приложений с использованием фреймворка Django.
Стоимость: 260 евро
Длительность: 1,5 месяца
Формат обучения: вебинары, практические задания
Сертификат: есть
Преимущества курса:
официальный сертификат о повышении квалификации;
комплексная поддержка в трудоустройстве;
пополнение портфолио работами и проектами;
неограниченный доступ к записям и материалам в течение одного года.
Недостатки курса:
курс не подходит новичкам;
обучение с повышенным уровнем сложности.
Программа обучения
Введение в Django
Базы данных. Модели
Система URL-адресов
Шаблонизатор
Практика
Формы, валидаторы форм
Сlass-based views
Аутентификация/авторизация/регистрация пользователей
Отправка сообщений на почту/телеграмм
________________________________________________________
8. Онлайн-курс Python / Django | ITEA
Базовый онлайн-курс по изучению основ программирования на языке Python с использованием фреймворка Django. Он предназначен для тех, кто желает поменять направление работы или повысить профессиональную квалификацию. Подтверждением качества программы стал успешный выпуск более 16 тысяч специалистов.
Стоимость: 260 евро
Длительность: 7 недель
Формат обучения: вебинары, практические задания
Сертификат: есть
Преимущества курса:
официальный диплом о прохождении курса после сдачи итоговых тестов;
возможность заморозить обучение или внести оплату частями;
сбалансированная программа в режиме live-занятий;
ведение индивидуальной работы с менторами.
Недостатки курса:
не подходит новичкам;
программа стартует только после набора группы.
Программа обучения
Введение в Django
Базы данных. Модели
Система URL-адресов
Шаблонизатор
Практика
Формы, валидаторы форм
Class-based views
Аутентификация/авторизация/регистрация пользователей
Отправка сообщений на почту/телеграмм
Практика
__________________________________________________________
9. Курс Python: Django | Хекслет
Онлайн-курс по Django, помогающий изучить основы конфигурирования фреймворка. Студенты научатся правильно пользоваться системой шаблонов внутри программного обеспечения. Также выпускники смогут более эффективно использовать базу данных с помощью Django ORM. Результатом обучения станет создание собственного сайта через Django, имеющего массу основных и дополнительных возможностей.
Стоимость: 3900 рублей в месяц на основе подписки
Длительность: 21 академический час
Формат обучения: видеоуроки, практика на тренажере
Сертификат: отсутствует
Преимущества курса:
упор на практическое исследование программы через тренажер;
доступ к теории предоставляется на бессрочной основе;
возможность самостоятельно выбирать удобное время обучения;
возможность параллельного прохождения других профильных курсов без дополнительной платы.
Недостатки курса:
нет обратной связи от преподавателей;
отсутствие сертификата о прохождении курса.
Программа обучения
Введение
Hello World
Запрос-ответ
Приложения
Шаблонизация
Наследование шаблонов
Представления
Маршрутизация
Работа с Django ORM
Использование моделей
___________________________________________________________
Онлайн-курс предназначен для тех, кто желает разрабатывать не только внутреннюю, но и внешнюю часть интернет-сайтов. То есть, браться за проекты, где нужно совершать полный комплекс действий, начиная с подготовки шаблона и заканчивая тестированием готового сайта на наличие ошибок. Это базовый курс для начинающих, где обучение проводится через платформу Django третьего поколения.
Стоимость: по запросу
Длительность: 6 месяцев
Формат обучения: видеоуроки
Сертификат: отсутствует
Преимущества курса:
объемная программа для изучения Django с нуля;
курс включает как backend, так и frontend-разработку сайтов;
отсутствие «воды» во всех видеоуроках;
возможность самостоятельно выбирать удобный график обучения.
Недостатки курса:
нет информации о точной стоимости курса;
самоучитель, не предусматривающий никакой обратной связи.
Программа обучения:
Введение – о курсе
Генератор паролей
Работа с Git
Список дел
Личное портфолио
Разворачивание сайта в интернет-сети
_________________________________________________________
Не всегда у будущих программистов есть возможность выделить бюджет на обучение. Также некоторым хочется заранее ознакомиться с профессией. В таком случае рекомендуем обратить внимание на каждый бесплатный курс по 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 смотрите в нашем каталоге.
Мы будем рады добавить в подборку курс, пройденный вами лично. Для этого укажите его название в секции комментариев и расскажите о своих впечатлениях. Пожалуйста, напишите нам, если обнаружили неактуальную информацию в статье и мы ее обновим.
я школьник,не ругайте супер сильно
записал мини краш курс по джанго
я школьник так что не ругайте сильно
мой гитхаб -https://github.com/Nicheye
Друзья, всем привет!
Помимо основной работы инженером данных, я поддерживаю небольшой сайт на 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, скачивайте и пользуйтесь.
Давайте более подробно рассмотрим, как он работает:
Делается подключение по ssh с помощью библиотеки paramiko, сделал с помощью файла rsa-key, который paramiko ищет автоматом, соответственно пароль указывать не надо
В скрипте за подключение отвечает функция _initialize_ssh_client
Получаем название файла с копией БД, которую необходимо будет создать, с помощью функции _get_db_copy_remote_filename. Принцип простой, берем текущее время и дату, и подставляем в название файлика, получается что то типа “01072023_155045.sql". К этому имени подставится путь, взятый из переменной окружения REMOTE_DBCOPY_FOLDER
Похожим образом задаются переменные, чтобы понимать, куда потом надо сложить на локальной машине копию базы, и как назвать папку для копии статических файлов. Т.е. это маленькие функции _get_db_copy_full_path и _create_local_media_folder, тоже работающие с переменными окружения
Функция make_db_backup собственно делает сам бэкап, через команду pg_dumpall, предварительно выдав права юзеру postgres на папку, куда положится бэкап
Бэкап грузится на локальную машину (upload_db_backup_to_local_machine)
Старые бэкапы удаляются с сервера (delete_old_copies_on_remote). Важно отметить, что срок актуальности бэкапа в днях можно задать в конфиге через переменную old-db-copies-exp-period. Потом данный период подставится в команду утилиты find.
Ну и в конце, функция copy_media_files_to_local перекачивает статику с сервера на локальную машину
С алгоритмом работы понятно, теперь давайте распишу, что вам надо сделать, чтобы у Вас тоже все запустилось и работало,
Иметь интерпретатор питона на локальной машине
Скачать репозиторий с моего гитхаба https://github.com/Riddik1993/DB-and-static-copy-from-remote
Настроить с Вашим удаленным сервером вход по ssh не по паролю, а по ключу из файла. Как это сделать - есть много туториалов в статьях и на ютубе, я сам научился по видео на канале Диджитализируй.
Также это стоит сделать и не только ради скрипта с копированием базы, но и просто из соображений безопасности - так как по паролю ваш сервер гораздо легче взломать чем через ключ rsa
Находясь в папке скаченного репозитория, вводим в терминале команду pip install requirements.txt и ставим нужные для скрипта зависимости. Если не хотите ставить их глобально, но создайте виртуальное окружение сначала и ставьте туда
Обращаем внимание на файл config.conf. Надо создать переменные окружения, которые указаны внутри фигурных скобок - это можно сделать, отредактировав файл ~/.bashsrc
Просто открываем этот файлик, добавляем строчки такого формата
export REMOTE_USER=”username”
Сохраняем, вводим команду
source ~/.bashsrc
Если совсем нет времени это делать, можно конечно и прямо в этот файл задать, паролей там никаких нет, но палить параметры напрямую в коде - это конечно плохо, все же через переменные безопасней.
Когда все сделано, в терминале в папке репозитория запускаем команду python3 make_db_media_copy.py
В выводе вы увидите логирование всех стадий работы скрипта.
Файл с копией базы положился в папку, название которой хранится в переменной LOCAL_DBCOPY_PATH
Медиафайлы положились в папку, которую скрипт предварительно создал, в указанной нами директории LOCAL_MEDIA_PATH
Если что то упало - в принципе будет ясно почему (смотри скриншот с логами). Но если что. пишете в комментариях - всегда рад помочь)
Также пишите, как делаете логирование Вы)
Если понравилось, буду рад приветствовать вас в своем телеграм канале, куда публикую интересные обзоры питон-функций, разборы задачек с собеседований, ну и просто интересные мысли.
Добрый день, уважаемые форумчане.
Несколько дней назад, в поисках ответа на вопрос я попал на страницу с вопросом годичной давности одного пользователя, в которой он искал ментора, потому что сам не мог решить свой вопрос. В коментариях ему посоветовали выложить все задание здесь на 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. я откликался на вакансию Мидла, поэтому вариант задавать все эти вопросы рекрутеру с последующей переадресацией спецам я не рассматривал.