{"id":20879083,"url":"https://github.com/popckovs/django-practice","last_synced_at":"2025-04-11T00:42:09.687Z","repository":{"id":115756435,"uuid":"427769590","full_name":"PopckovS/Django-Practice","owner":"PopckovS","description":"Уроки и решение практических задач по фреймворку Django и другое разное по Web Разработке. ","archived":false,"fork":false,"pushed_at":"2023-09-06T14:53:30.000Z","size":1192,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-11T00:41:51.358Z","etag":null,"topics":["django","django-rest-framework","docker","drf","python"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PopckovS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-13T20:49:23.000Z","updated_at":"2025-02-22T21:27:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"bc92b784-7eec-4822-b3f6-21896c0ec185","html_url":"https://github.com/PopckovS/Django-Practice","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PopckovS%2FDjango-Practice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PopckovS%2FDjango-Practice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PopckovS%2FDjango-Practice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PopckovS%2FDjango-Practice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PopckovS","download_url":"https://codeload.github.com/PopckovS/Django-Practice/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248322600,"owners_count":21084336,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","django-rest-framework","docker","drf","python"],"created_at":"2024-11-18T07:15:12.063Z","updated_at":"2025-04-11T00:42:09.680Z","avatar_url":"https://github.com/PopckovS.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"Backend разработка.\n---\nЭто сборник различной полезной информации и решения практических\nзадача по `Backend` разработке, от `Devops` до создания `Django` приложений\nи `REST API`, и разное другое.\n\n---\nТеория\n---\n\n1. **[ Архитектура ]( Theory/1.md )**\n    - Монолитная и Микро сервисная архитектура\n\n\n2. **[ Паттерны ]( Theory/2.md )**\n    - `Singleton`\n\n\n---\nАдминистрирование `Linux` `Devops`\n---\n\n**[ Сборник горячих команд ](Devops/1.md)**\n \n\n1. **[ Работа с Linux ](Devops/2.md)**\n\n\n2. **[ Работа с сетью в Linux ](Devops/3.md)**  \n   - Сеть `iptables` и утилита `ufw`\n\n\n2. **[ Механизм CI / CD ](Devops/Lesson_CI_CD.md)**\n\n---\nСервер `Gunicorn` /  `Nginx` + `Django` \n---\n\n1. **[ Сервер `Gunicorn` ](Server/gunicorn_1.md)**\n    - Запуск сайта на сервере `Gunicorn`\n\n\n2. **[ Сервер `Nginx` ](Server/nginx_1.md)**\n    - Запуск сайта на сервере `Nginx`\n\n---\nDocker, Docker-compose\n---\n\n[ Удобный сборник команд ](Docker/docker_commands.md)\n\n1. **[Docker : ](Docker/docker_1.md)**\n    - Образы и контейнеры `Images`, `Container`\n    - Файл `Dockerfile`\n    - Просмотр логов\n\n\n2. **[ №1 Docker-Compose : ](Docker/docker_compose_1.md)** \n    - Файл `docker-compose.yml`\n    - Как работает `volumes`\n\n\n3. **[ №2 Docker-Compose : ](Docker/docker_compose_2.md)**\n    - Порядок запуска контейнеров \n\n\n4. **[ Примеры запуска сервисов в Docker-Compose ](Docker/docker_compose_3.md)**\n    - `Postgres` \n    - `Django` + `Postgres` \n    - `MetaBase` + `Postgres`\n    - `Django` + `Django Celery` + `Redis` \n    - `Nginx` + `Vue`\n\n---\nGIT и Git-flow\n---\n**[ Удобный сборник команд `git` ](git/commands.md)**\n\n1. **[ Часть №1  `GIT` ](git/git_1.md)**\n    - Настройка `git config`\n    - `git rebase`\n    - Конфликты\n    - Тэги `git tag`\n    - Система ведения репозиториев `Git-flow`\n\n\n2. **[ Часть №2 `GIT` ](git/git_2.md)**\n    - Хранилище `git stash`\n\n\n3. **[Часть №3 `GIT` ](git/git_3.md)**\n    - Работа с `GIT` через `PyCharm`\n\n---\nРабота с `GraphQL` и `Hasura`\n---\n\n1. **[ Часть №1 :](hasura/GraphQl_1.md)**\n    - Что такое `GraphQL`, `Hasura` в докере\n    - Типы запросов `query`, `mutation`, `subscription`\n    - Отношения `object` и `array`\n\n---\nWeb\n---\n\n1. **[ Часть №1 :](Web/web_1.md)**\n    - `OSI`, `HTTP`, `HTTPS`\n\n---\nНастройка Django\n---\n\n1. **[ Установка и начало ](Start/start_1.md)**\n    - Установка `Django`. Создание и подключение приложений\n\n\n2. **[ Часть №1. Безопасность настроек. Переменные окружения ](Start/venv_1.md)**\n   - Переменные окружения и оболочки в `Linux` \n   - Хранение настроек в переменных окружения и модуль `os.environ`\n   \n\n3. **[ Часть №2. Безопасность настроек, модуль `django-environ` ](Start/venv_2.md)**\n   - Модуль `django-environ` его методы и примеры использования.\n\n\n4. **[ Настройки проекта `Django`. Файл `settings.py`](Start/settings.md)**\n\n\n---\nОсновное Django\n---\n**[Сборник различных команд Django](Django/django_commands.md)**\n\n\n1. **[ Request / Response ](Django/request_1.md)**\n    \n\n2. **[ Django Utils ](Django/django_utils_1.md)**\n   \n\n3. **[ Middleware ](Django/mid_1.md)**\n    - Промежуточное программное обеспечение.   \n\n---\nМодели, Запросы, Миграции\n---\n1. **Модели**\n      - **[ Установка. Создание Моделей ](Models/connect.md)**\n        - Настройка подключения к `Postgres` и расширение `PostGis`\n        - Создание моделей\n\n      - **[ №1 Модели ](Models/Models_1.md)**\n        - Поля моделей и их опции\n        - Поля для связей и поля для `GEO`\n        - Ссылка модели на саму себя\n\n      - **[ №2 Модели ](Models/Models_4.md)**\n        - Настройки `MEDIA_ROOT`, `MEDIA_URl` для загрузки файлов\n        - Класс модели `Meta` моделей\n        - Транзакции `transaction.atomic`\n\n      - **[ №3 Валидация полей модели ](Models/Models_5.md)**\n        - Валидация полей модели в виде функции `ValidationError`\n        - Валидация файлов на размер и формат\n        - `RegexValidator`\n        \n      - **[ №4 Модели, Инспектор БД, Схемы, Множество БД. ](Models/Models_6.md)**\n        - Автоматическая генерация моделей, инспектор баз данных `inspectdb`\n        - Работа с разными схемами, множественное подключение к разным БД\n        \n      - **[ №5 Роутинг БД ](Models/Models_7.md)**\n        - Маршрутизаторы Баз Данных\n\n      - **[ №6 Разное ](Models/Models_8.md)**\n        - Сигналы наа миграции\n\n\n2. **ORM самого Django**\n\n      - **[ №1 ORM ](Models/orm_0.md)**\n        - Что такое `QuerySet` и его методы\n        \n      - **[ №2 ORM ](Models/orm_1.md)**\n        - Методы: \n        - `save`, `create`, `all`, `get`, `filter`, `exclude`, `update`, `bulk_create`\n        - Ограничения `LIMIT` и `OFFSET`\n        - Приставки для фильтрации\n        - Примеры запросов\n\n      - **[ №3 ORM ](Models/orm_2.md)**\n        - Выполнение прямых `SQL` запросов к БД\n        - Агрегации `Count, Sum, Avg, Max, Min`\n        - `Q` Обьект\n        - Примеры запросов `ORM` :\n          - Получение записей из среза по времени за множество дат \n          \n\n3. **Миграции**\n      - **[ №1 Миграции ](Models/migrate_1.md)**\n        - Создание, применение и откат миграций, фейковые миграции.\n        - Просмотр кода `SQL` что будет сделан миграцией\n        - Чистый `SQL` в миграциях `migrations.RunSQL`\n        - Миграции и обратные миграции `reverse_sql`\n\n      - **[ №2 Миграции ](Models/migrate_2.md)** \n        - Ошибки при использовании миграций\n        \n      - **[ Фикстуры ](Models/fixtures.md)**\n        - Выгрузка данных из БД `dumpdata`\n        - Загрузка данных в БД `loaddata`\n        - Фикстуры из системных моделей\n        \n---\nАдминистративная панель\n---\n\n1. **[ Часть №1 ](admin/admin_1.md)** \n   - Регистрация моделей в админ панели\n   - Управление видом моделей в админке \n\n     \n2. **[ Часть №2 ](admin/admin_2.md)** \n    - Методы жизненного цикла админки:\n    - `save_model`, `delete_model`, `delete_queryset`, `get_ordering`,\n   `get_paginator`, `get_search_results`, `get_urls`\n    \n        \n3. **[ Часть №4 ](admin/admin_4.md)**\n    - Действия администратора\n    - Как делать редирект на страницу админки\n    - Отключение экранирования `HTML` в админке\n    - Кастомные атрибуты административной панели\n\n\n4. **[ Часть №5 ](admin/admin_5.md)**\n    - Управление порядком приложений и моделей в админке\n    - Управление административной панелью\n    - `admin.site.index_template` ???\n    \n---\nФормы\n---\n\n1. **[ №1 Формы ](Form/form_1.md)** \n     - Класс форм и типы полей формы\n     \n\n2. **[ №2 Формы ](Form/form_2.md)**\n     - Токен `csrf` \n     \n\n3. **[ №3 Валидация Формы ](Form/form_3.md)**\n    - Создаем собственную валидацию формы\n\n---\nРегистрация и Аутентификация в `Django`\n---\n\n1. **[ Введение ](Auth/auth_1.md)**\n     - Пользователи их создание и смена паролей \n     - Создание суперпользователей\n     - `login` `logout` `authenticate` - ?\n     \n\n2. **[ Дефолтная регистрация и авторизация в Django ](Auth/auth_2.md)**\n     - Регистрация пользователей через форму `UserCreationForm`\n     - Авторизация пользователей через форму `UserCreationForm`\n\n\n3. **[ Модуль OAuth ](Auth/auth_3.md)**\n\n\n---\nПредставления `html`, `css`, `js` \n---\n\n1. **[ Статические файлы и переопределения шаблонов ](View/view_1.md)**\n   - Пути `url` к представлениям. Шаблонизатор `Jinja2`.\n   - Фильтры, `url` в шаблонах. Страницы ошибок и редиректы\n   \n[//]: # (2. **[ Часть №1 ]\u0026#40;View/view_2.md\u0026#41;**)\n[//]: # (   - Статические файлы)\n\n---\nАсинхронность\n---\n\n1. **[ `Django` + `Celery` + периодические задачи ](Celery/Celery_1.md)**\n    - Установка, Настройка, периодические задачи\n    \n\n2. [ `Celery` настройка ](Celery/Celery_2.md)\n\n\n3. [ `Django` + `Celery` + `Flower` менеджер асинхронных задач ](Celery/Celery_3.md)\n    - Что такое `Flower`\n\n\n4. **[ Django_rq ](Celery/django_rq_1.md)**\n   - Что такое `Django_rq` \n   - Функции коллбэки `on_success`, `on_failure`\n   - Как отлаживать асинхронный код в `django-rq`\n\n\n[//]: # (1. **Django + Celery**)\n\n[//]: # (   - **[ Часть №1 ]\u0026#40;Celery/celery_1.md\u0026#41;\u0026#40;Установка\u0026#41;**)\n\n[//]: # (   - **[ Часть №2 ]\u0026#40;Celery/celery_2.md\u0026#41;\u0026#40;Начало работы\u0026#41;**)\n\n[//]: # (   - **[ Часть №3 ]\u0026#40;Celery/celery_3.md\u0026#41;\u0026#40;`Flower` логер сообщений для `Celery`\u0026#41;**)\n\n\n---\nDjango Rest Framework `DRF`, `SSO`\n---\n\n1. Django Rest Framework `DRF`\n      - **[ Основы `DRF` ](DRF/drf_1.md)**\n      - **[ API Фильтрация, Поиск, Сортировка ](DRF/drf_2.md)**\n      - **[ Аутентификация `OAuth` ](DRF/drf_3.md)**\n      - **[ Документирование `Swagger` ](DRF/drf_4.md)**\n      - **[ Права доступа `Permissions` ](DRF/permissions_5.md)**\n      \n\n2.  **[ Django Rest Framework SSO ](DRF-SSO/drf-sso_1.md)**\n      - Что такое `JWT` токены\n      - Что такое `DRF-SSO`\n      \n---\nРазное `Django`\n---\n- **[ Флеш сообщения `messages` ](admin/admin_3.md)**\n- **[ Гео-кодирование, Модуль `GeoDjango` ](GeoDjango/geo_django_1.md)**\n- **[ Отправка почты Email `smtplib` ](other/email.md)**\n- **[ Установка HTML редактора `ckeditor` ](other/ckeditor.md)**\n- **[ Настройка сервера `PyCharm` для Дебага ](other/debug_server.md)**\n- **[ Трансляция, перевод на другие языки. ](other/translation.md)**\n- **[ Удобная работа с временными файлами `tempfile` ](other/tempfile.md)**\n- **[ Удобная работа архивами `zip` ](other/zip.md)**\n- **[ Работа с файлами ](other/file.md)**\n\n---\nТестирование\n---\n \n1. **Unit Test**\n   - **[ Часть №1 ](Django/UnitTest_1.md)**\n\n\n[//]: # (4. **Cookiecutter**)\n[//]: # (      - [ Шаблоны Django проектов ]\u0026#40;Django/cookiecutter_1.md\u0026#41;)\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpopckovs%2Fdjango-practice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpopckovs%2Fdjango-practice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpopckovs%2Fdjango-practice/lists"}