https://github.com/popckovs/django-practice
Уроки и решение практических задач по фреймворку Django и другое разное по Web Разработке.
https://github.com/popckovs/django-practice
django django-rest-framework docker drf python
Last synced: 6 months ago
JSON representation
Уроки и решение практических задач по фреймворку Django и другое разное по Web Разработке.
- Host: GitHub
- URL: https://github.com/popckovs/django-practice
- Owner: PopckovS
- License: mit
- Created: 2021-11-13T20:49:23.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-09-06T14:53:30.000Z (about 2 years ago)
- Last Synced: 2025-04-11T00:41:51.358Z (6 months ago)
- Topics: django, django-rest-framework, docker, drf, python
- Homepage:
- Size: 1.14 MB
- Stars: 6
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Backend разработка.
---
Это сборник различной полезной информации и решения практических
задача по `Backend` разработке, от `Devops` до создания `Django` приложений
и `REST API`, и разное другое.---
Теория
---1. **[ Архитектура ]( Theory/1.md )**
- Монолитная и Микро сервисная архитектура2. **[ Паттерны ]( Theory/2.md )**
- `Singleton`---
Администрирование `Linux` `Devops`
---**[ Сборник горячих команд ](Devops/1.md)**
1. **[ Работа с Linux ](Devops/2.md)**
2. **[ Работа с сетью в Linux ](Devops/3.md)**
- Сеть `iptables` и утилита `ufw`2. **[ Механизм CI / CD ](Devops/Lesson_CI_CD.md)**
---
Сервер `Gunicorn` / `Nginx` + `Django`
---1. **[ Сервер `Gunicorn` ](Server/gunicorn_1.md)**
- Запуск сайта на сервере `Gunicorn`2. **[ Сервер `Nginx` ](Server/nginx_1.md)**
- Запуск сайта на сервере `Nginx`---
Docker, Docker-compose
---[ Удобный сборник команд ](Docker/docker_commands.md)
1. **[Docker : ](Docker/docker_1.md)**
- Образы и контейнеры `Images`, `Container`
- Файл `Dockerfile`
- Просмотр логов2. **[ №1 Docker-Compose : ](Docker/docker_compose_1.md)**
- Файл `docker-compose.yml`
- Как работает `volumes`3. **[ №2 Docker-Compose : ](Docker/docker_compose_2.md)**
- Порядок запуска контейнеров4. **[ Примеры запуска сервисов в Docker-Compose ](Docker/docker_compose_3.md)**
- `Postgres`
- `Django` + `Postgres`
- `MetaBase` + `Postgres`
- `Django` + `Django Celery` + `Redis`
- `Nginx` + `Vue`---
GIT и Git-flow
---
**[ Удобный сборник команд `git` ](git/commands.md)**1. **[ Часть №1 `GIT` ](git/git_1.md)**
- Настройка `git config`
- `git rebase`
- Конфликты
- Тэги `git tag`
- Система ведения репозиториев `Git-flow`2. **[ Часть №2 `GIT` ](git/git_2.md)**
- Хранилище `git stash`3. **[Часть №3 `GIT` ](git/git_3.md)**
- Работа с `GIT` через `PyCharm`---
Работа с `GraphQL` и `Hasura`
---1. **[ Часть №1 :](hasura/GraphQl_1.md)**
- Что такое `GraphQL`, `Hasura` в докере
- Типы запросов `query`, `mutation`, `subscription`
- Отношения `object` и `array`---
Web
---1. **[ Часть №1 :](Web/web_1.md)**
- `OSI`, `HTTP`, `HTTPS`---
Настройка Django
---1. **[ Установка и начало ](Start/start_1.md)**
- Установка `Django`. Создание и подключение приложений2. **[ Часть №1. Безопасность настроек. Переменные окружения ](Start/venv_1.md)**
- Переменные окружения и оболочки в `Linux`
- Хранение настроек в переменных окружения и модуль `os.environ`
3. **[ Часть №2. Безопасность настроек, модуль `django-environ` ](Start/venv_2.md)**
- Модуль `django-environ` его методы и примеры использования.4. **[ Настройки проекта `Django`. Файл `settings.py`](Start/settings.md)**
---
Основное Django
---
**[Сборник различных команд Django](Django/django_commands.md)**1. **[ Request / Response ](Django/request_1.md)**
2. **[ Django Utils ](Django/django_utils_1.md)**
3. **[ Middleware ](Django/mid_1.md)**
- Промежуточное программное обеспечение.---
Модели, Запросы, Миграции
---
1. **Модели**
- **[ Установка. Создание Моделей ](Models/connect.md)**
- Настройка подключения к `Postgres` и расширение `PostGis`
- Создание моделей- **[ №1 Модели ](Models/Models_1.md)**
- Поля моделей и их опции
- Поля для связей и поля для `GEO`
- Ссылка модели на саму себя- **[ №2 Модели ](Models/Models_4.md)**
- Настройки `MEDIA_ROOT`, `MEDIA_URl` для загрузки файлов
- Класс модели `Meta` моделей
- Транзакции `transaction.atomic`- **[ №3 Валидация полей модели ](Models/Models_5.md)**
- Валидация полей модели в виде функции `ValidationError`
- Валидация файлов на размер и формат
- `RegexValidator`
- **[ №4 Модели, Инспектор БД, Схемы, Множество БД. ](Models/Models_6.md)**
- Автоматическая генерация моделей, инспектор баз данных `inspectdb`
- Работа с разными схемами, множественное подключение к разным БД
- **[ №5 Роутинг БД ](Models/Models_7.md)**
- Маршрутизаторы Баз Данных- **[ №6 Разное ](Models/Models_8.md)**
- Сигналы наа миграции2. **ORM самого Django**
- **[ №1 ORM ](Models/orm_0.md)**
- Что такое `QuerySet` и его методы
- **[ №2 ORM ](Models/orm_1.md)**
- Методы:
- `save`, `create`, `all`, `get`, `filter`, `exclude`, `update`, `bulk_create`
- Ограничения `LIMIT` и `OFFSET`
- Приставки для фильтрации
- Примеры запросов- **[ №3 ORM ](Models/orm_2.md)**
- Выполнение прямых `SQL` запросов к БД
- Агрегации `Count, Sum, Avg, Max, Min`
- `Q` Обьект
- Примеры запросов `ORM` :
- Получение записей из среза по времени за множество дат
3. **Миграции**
- **[ №1 Миграции ](Models/migrate_1.md)**
- Создание, применение и откат миграций, фейковые миграции.
- Просмотр кода `SQL` что будет сделан миграцией
- Чистый `SQL` в миграциях `migrations.RunSQL`
- Миграции и обратные миграции `reverse_sql`- **[ №2 Миграции ](Models/migrate_2.md)**
- Ошибки при использовании миграций
- **[ Фикстуры ](Models/fixtures.md)**
- Выгрузка данных из БД `dumpdata`
- Загрузка данных в БД `loaddata`
- Фикстуры из системных моделей
---
Административная панель
---1. **[ Часть №1 ](admin/admin_1.md)**
- Регистрация моделей в админ панели
- Управление видом моделей в админке
2. **[ Часть №2 ](admin/admin_2.md)**
- Методы жизненного цикла админки:
- `save_model`, `delete_model`, `delete_queryset`, `get_ordering`,
`get_paginator`, `get_search_results`, `get_urls`
3. **[ Часть №4 ](admin/admin_4.md)**
- Действия администратора
- Как делать редирект на страницу админки
- Отключение экранирования `HTML` в админке
- Кастомные атрибуты административной панели4. **[ Часть №5 ](admin/admin_5.md)**
- Управление порядком приложений и моделей в админке
- Управление административной панелью
- `admin.site.index_template` ???
---
Формы
---1. **[ №1 Формы ](Form/form_1.md)**
- Класс форм и типы полей формы
2. **[ №2 Формы ](Form/form_2.md)**
- Токен `csrf`
3. **[ №3 Валидация Формы ](Form/form_3.md)**
- Создаем собственную валидацию формы---
Регистрация и Аутентификация в `Django`
---1. **[ Введение ](Auth/auth_1.md)**
- Пользователи их создание и смена паролей
- Создание суперпользователей
- `login` `logout` `authenticate` - ?
2. **[ Дефолтная регистрация и авторизация в Django ](Auth/auth_2.md)**
- Регистрация пользователей через форму `UserCreationForm`
- Авторизация пользователей через форму `UserCreationForm`3. **[ Модуль OAuth ](Auth/auth_3.md)**
---
Представления `html`, `css`, `js`
---1. **[ Статические файлы и переопределения шаблонов ](View/view_1.md)**
- Пути `url` к представлениям. Шаблонизатор `Jinja2`.
- Фильтры, `url` в шаблонах. Страницы ошибок и редиректы
[//]: # (2. **[ Часть №1 ](View/view_2.md)**)
[//]: # ( - Статические файлы)---
Асинхронность
---1. **[ `Django` + `Celery` + периодические задачи ](Celery/Celery_1.md)**
- Установка, Настройка, периодические задачи
2. [ `Celery` настройка ](Celery/Celery_2.md)
3. [ `Django` + `Celery` + `Flower` менеджер асинхронных задач ](Celery/Celery_3.md)
- Что такое `Flower`4. **[ Django_rq ](Celery/django_rq_1.md)**
- Что такое `Django_rq`
- Функции коллбэки `on_success`, `on_failure`
- Как отлаживать асинхронный код в `django-rq`[//]: # (1. **Django + Celery**)
[//]: # ( - **[ Часть №1 ](Celery/celery_1.md)(Установка)**)
[//]: # ( - **[ Часть №2 ](Celery/celery_2.md)(Начало работы)**)
[//]: # ( - **[ Часть №3 ](Celery/celery_3.md)(`Flower` логер сообщений для `Celery`)**)
---
Django Rest Framework `DRF`, `SSO`
---1. Django Rest Framework `DRF`
- **[ Основы `DRF` ](DRF/drf_1.md)**
- **[ API Фильтрация, Поиск, Сортировка ](DRF/drf_2.md)**
- **[ Аутентификация `OAuth` ](DRF/drf_3.md)**
- **[ Документирование `Swagger` ](DRF/drf_4.md)**
- **[ Права доступа `Permissions` ](DRF/permissions_5.md)**
2. **[ Django Rest Framework SSO ](DRF-SSO/drf-sso_1.md)**
- Что такое `JWT` токены
- Что такое `DRF-SSO`
---
Разное `Django`
---
- **[ Флеш сообщения `messages` ](admin/admin_3.md)**
- **[ Гео-кодирование, Модуль `GeoDjango` ](GeoDjango/geo_django_1.md)**
- **[ Отправка почты Email `smtplib` ](other/email.md)**
- **[ Установка HTML редактора `ckeditor` ](other/ckeditor.md)**
- **[ Настройка сервера `PyCharm` для Дебага ](other/debug_server.md)**
- **[ Трансляция, перевод на другие языки. ](other/translation.md)**
- **[ Удобная работа с временными файлами `tempfile` ](other/tempfile.md)**
- **[ Удобная работа архивами `zip` ](other/zip.md)**
- **[ Работа с файлами ](other/file.md)**---
Тестирование
---
1. **Unit Test**
- **[ Часть №1 ](Django/UnitTest_1.md)**[//]: # (4. **Cookiecutter**)
[//]: # ( - [ Шаблоны Django проектов ](Django/cookiecutter_1.md))