7098
Django Вопросы @haarrp all questions to @haarrp @ai_machinelearning_big_data -ML @ArtificialIntelligencedl -AI @datascienceiot - ml 📚 @pythonlbooks -📚books @hr_itwork-работа
🐍 Python Roadmap 2026: наконец-то полноценная актуальная карта изучения Python, а не список ссылок «разберись сам»
На GitHub выложили большой русскоязычный роадмап по Python на 2026 год - от первых скриптов до уровня Middle+/Senior.
Маршрут собран под современный Python:
- Python 3.13+
- free-threaded mode без GIL
- JIT
- uv вместо боли с pip/venv/poetry
- ruff, pyright, pytest, hypothesis
- async-first подход
- типизация
- CPython внутри
- web, базы, ML/AI, DevOps и архитектура
В роадмапе есть нормальная последовательность: сначала окружение и база, потом идиомы, ООП, типы, стандартная библиотека, асинхронность, тестирование, внутренности CPython, web, базы данных, AI-направление, продакшн и архитектура.
Отдельный плюс - практический формат. На каждом этапе есть задачи, чеклисты, примеры кода и бесплатные ресурсы. То есть это не мотивационная простыня, а маршрут, по которому реально можно идти несколько месяцев и видеть прогресс.
Для новичков - понятный путь без хаоса.
Для джунов - способ закрыть дыры.
Для тех, кто уже пишет на Python - хороший чеклист, чтобы понять, где ты всё ещё плаваешь.
Python в 2026 году - это tooling, типы, async, инфраструктура, AI и продакшн-дисциплина. И этот роадмап как раз про такой Python.
https://github.com/justxor/pythonroamap2026
⚡️ Вы слышали про Rust. Знаете, что он быстрый, безопасный и что за ним будущее.
Осталось одно: сесть и выучить.
Этот курс со Stepik- кратчайший путь от «знаю что такое Rust» до «пишу на нём».
6 модулей, 50 уроков, 143 теста. Ownership, borrowing, traits, async, Tokio, Axum, макросы, WASM — всё разложено по полочкам и закреплено практикой.
Никакого видео на 40 минут ради одной мысли. Подробный текст, много кода, реальные задачи после каждого урока. На выходе — портфолио из 10+ проектов: от CLI-утилит до REST API с базой данных.
48 часов действует скидка 55 процентов: stepik.org/course/269250
✔️ Лови полезный Django-совет, который спасает продакшен чаще, чем кажется.
Никогда не делай тяжёлую логику в Django views.
Новички часто пихают всё прямо во view:
- бизнес-логику
- валидацию
- расчёты
- работу с БД
- интеграции
В итоге получается "божественная функция" на 200 строк, которую невозможно тестировать и поддерживать.
Правильный подход — разделять слои:
- View — только принимает запрос и отдаёт ответ
- Services / use-cases — бизнес-логика
- Models — работа с данными
- Serializers / Forms — валидация
Плохо:
def create_order(request):
user = request.user
items = request.data['items']
total = 0
for item in items:
product = Product.objects.get(id=item['id'])
total += product.price * item['qty']
order = Order.objects.create(user=user, total=total)
...
# services/order_service.py
def create_order(user, items):
total = calculate_total(items)
return Order.objects.create(user=user, total=total)
# views.py
def create_order_view(request):
order = create_order(request.user, request.data['items'])
return Response({"id": order.id})
Идеальный старт для проекта Django: конфигурация окружения.
Сохрани себе идеальный шаблон virtual environment и основных настроек для каждого нового проекта Django. Это упростит процесс настройки окружения и позволит избежать распространенных ошибок.
Читать полностью…
# Создание виртуального окружения
python3 -m venv venv
# Активация виртуального окружения
source venv/bin/activate
# Установка основных зависимостей
pip install django djangorestframework psycopg2
# Создание файла requirements.txt
pip freeze > requirements.txt
# Инициализация нового проекта Django
django-admin startproject myproject
# Переход в директорию проекта
cd myproject
# Запуск сервера для проверки
python manage.py runserver
🚀 AgentCPM-Explore - первый open-source агент на 4B, который реально тащит GAIA и сложные реальные задачи
OpenBMB выкатили AgentCPM-Explore - модель всего на 4B параметров, но по агентным метрикам она выглядит как зверь.
✅ SOTA среди 4B агент-моделей
По агентным бенчмаркам модель:
- обгоняет всех на своём масштабе
- превосходит часть 8B моделей
- и даже конкурирует с некоторыми 30B+ и closed-source LLM
🧠 Deep Research как у “исследователя”
Модель умеет:
- длинные цепочки рассуждений (long-horizon reasoning)
- 100+ ходов автономного диалога
- проверять себя через несколько источников (cross-validation)
- делать самокоррекцию как человек
- динамически менять стратегию и использовать инструменты
То есть это уже не “чатбот”, а мини-исследователь, который реально может вести задачу до конца.
🔓 Открыт не только модельный вес - открыт весь стек
И это самое жирное: OpenBMB выкладывают не “голую модель”, а весь pipeline агентности:
- AgentRL - асинхронный RL-фреймворк для обучения агентов
- AgentDock - безопасная песочница инструментов (tool sandbox)
- AgentToLeaP - платформа оценки tool-learning (в один клик)
- полный датапайплайн и воспроизводимые training workflows
Это полноценная open-source платформа для создания агентов, где можно реально учиться, экспериментировать и собирать своих автономных “ресёрчеров”.
Кто уже тестил GAIA на своих агентах ?
🤗 Hugging Face: https://huggingface.co/openbmb/AgentCPM-Explore
🔗 GitHub: https://github.com/OpenBMB/AgentCPM
🖥 FastAPI для клиента: как должны выглядеть API-клиенты в Python
Python-сообщество отлично научилось делать API-серверы.
FastAPI / DRF дают идеальный опыт разработчика:
- типы
- валидация
- понятные эндпоинты
- документация по OpenAPI
- минимум рутины
Но есть проблема.
Серверы стали удобными и “правильными”, а вот клиентская сторона до сих пор часто выглядит как кустарщина.
Что часто встречается в проектах на базе python:
- везде раскиданы httpx.get/post
- URL собираются руками
- параметры и headers копируются по коду
- ответы парсятся вручную
- ошибки обрабатываются как попало
- нет нормальных типов и автодополнения
И именно тут часто появляется 80% проблем.
API может быть идеально спроектирован, но пользоваться им неудобно.
Да, можно сгенерировать кода клиента.
Но чаще всего генератор выдаёт огромный неудобный код:
- странные имена методов
- перегруженные классы
- нечитаемый boilerplate
- всё равно приходится писать обёртки руками
В итоге клиенты либо не генерируют вообще, либо генерируют и потом ненавидят.
API-клиенты должны быть сделаны как фреймворк.
Как FastAPI, только наоборот.
То есть ты описываешь клиент красиво и декларативно:
- функция описывает intent (что мы делаем)
- типы описывают контракт
- библиотека берёт на себя HTTP-рутину
Вместо кода “на коленке”httpx.get("https://api.site.com/users/123")
Должно бытьget_user(123)
И дальше библиотека сама:
- соберёт URL
- подставит параметры
- сериализует запрос
- выполнит HTTP
- распарсит ответ
- кинет нормальную ошибку
- даст типы и автодополнение в IDE
Именно эту идею автор статье и продвигает (проект Clientele)
Сделать API-клиенты удобными, чистыми и типобезопасными
так же, как мы привыкли делать серверы
Проблема не в HTTP.
Проблема в том, что API-клиенты в Python до сих пор не стали “первоклассным кодом”.
А должны стать.
Подробности: paulwrites.software/articles/python-api-clients
🖥 Django 6.0 вышел - крупное обновление фреймворка
Вышел Django 6.0, и это одно из самых насыщенных обновлений за последнее время. Релиз добавляет функциональность, которую разработчики долго закрывали сторонними библиотеками или кастомными решениями.
Что нового и действительно важно:
Поддержка template partials из коробки
Теперь Django умеет частичные шаблоны на уровне фреймворка. Это упрощает структуру HTML, повышает переиспользуемость и делает шаблоны чище и понятнее без лишних include-хаков.
Нативный фреймворк для фоновых задач
В Django появился встроенный механизм для background tasks. Для многих проектов это означает, что Celery или RQ больше не обязательны для базовых задач — отложенные и асинхронные операции можно реализовать стандартными средствами.
Встроенная система Content Security Policy (CSP)
Django 6.0 получил полноценную поддержку CSP. Это серьёзный шаг в сторону безопасности по умолчанию и защита от XSS и других атак без внешних middleware.
Современный email API с нормальной Unicode-поддержкой
Работа с email стала более предсказуемой и дружелюбной к Unicode, что особенно важно для международных проектов и сложных шаблонов писем.
Жизненный цикл версий
Django 5.2 больше не имеет mainstream-поддержки. Разработчикам рекомендуется переходить на 6.0, чтобы получать новые возможности, обновления безопасности и улучшения платформы.
Django продолжает двигаться в сторону «batteries included», но делает это аккуратно и прагматично. Django 6.0 снижает зависимость от внешних библиотек, усиливает безопасность и делает повседневную разработку заметно удобнее.
Это релиз, который стоит внимательно изучить и запланировать апгрейд.
https://www.djangoproject.com/weblog/2025/dec/03/django-60-released/
🖥 Как организовать архитектуру большого Python-проекта?
Разработка крупного Python-проекта требует продуманной архитектуры. Правильная структура кода упрощает развитие, тестирование и поддержку приложения.
В этой статье мы рассмотрим ключевые принципы архитектурной организации для разных типов проектов - веб-приложений, библиотек, микросервисов и систем обработки данных.
Обсудим разделение системы на слои (domain, service, infrastructure), использование популярных шаблонов проектирования (Dependency Injection, Repository, Facade), организацию кода по модулям и пакетам, примеры структуры каталогов, работу с зависимостями и конфигурацией (Pydantic, dotenv), логгирование и мониторинг, обеспечение тестируемости, поддержку расширяемости и модульности.
Также приведем примеры кода и структуры каталогов, а в конце – общие советы и распространенные ошибки, которых следует избегать.
https://uproger.com/kak-organizovat-arhitekturu-bolshogo-python-proekta/
🔥 Подборка полезных ресурсов для программистов.
Здесь ты найдёшь всё это - коротко, по делу и без воды.
Пока другие ищут, где “подглядеть решение”, ты уже используешь самые свежие инструменты!
AI: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Devops: t.me/DevOPSitsec
Собеседования DS: t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_1001_notes
Java: t.me/java_library
Базы данных: t.me/sqlhub
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: /channel/gamedev
Haskell: t.me/haskell_tg
Физика: t.me/fizmat
💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: /channel/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: /channel/addlist/mzMMG3RPZhY2M2Iy
Папка Linux:/channel/addlist/w4Doot-XBG4xNzYy
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: /channel/addlist/BkskQciUW_FhNjEy
Сохрани себе, чтобы не потерять!
👩💻 django-cors-headers — Django-приложение для обработки заголовков Cross-Origin Resource Sharing (CORS)!
🌟 Этот инструмент позволяет вашему Django-приложению принимать запросы из браузеров, отправленные с других доменов. Это особенно полезно для API-серверов или приложений, которые обслуживают фронтенд и бэкенд с разных доменов или портов.
🌟 Инструмент позволяет гибко управлять настройками CORS, включая поддержку конкретных методов, заголовков и настроек безопасности. Например, вы можете настроить разрешение только для определённых доменов или включить временный доступ для локальной разработки. Однако важно понимать риски, связанные с CORS, поскольку неправильная конфигурация может открыть доступ к вашим данным для нежелательных источников.
🔐 Лицензия: MIT
🖥 Github
@python_job_interview
🚀 Django 6.0 — уже в пути!
✨ Главное в Django 6.0
- Content Security Policy (CSP)
Новый ContentSecurityPolicyMiddleware, теги csp() и настройки SECURE_CSP / SECURE_CSP_REPORT_ONLY.
- Фоновые задачи
Декоратор @task и метод enqueue() для простого запуска background jobs.
- Template Partials
Теги {% partialdef %} и {% partial %} для переиспользуемых фрагментов в шаблонах.
- Обновлённое Email API
Современный EmailMessage вместо устаревших MIME-классов.
- Другие улучшения
• В админке — иконки Font Awesome
• В auth увеличены итерации PBKDF2
• Улучшения в Postgres, GeoDjango, миграциях и др.
🔄 Изменения без обратной совместимости
- Минимальная версия MariaDB — 10.6
- Поддержка Python ≥ 3.12
- DEFAULT_AUTO_FIELD теперь всегда BigAutoField
- Удалены устаревшие API и внутренние методы
👉 Подробнее: https://docs.djangoproject.com/en/dev/releases/6.0/
#django #python
🖥 rest-filters — фильтрационный бэкенд для Django REST framework
Что это:
Новый инструмент для фильтрации в DRF, который расширяет возможности стандартного django-filter.
Особенности
- Использует serializer-поля для разбора и валидации (без Django-форм и виджетов)
- Поддержка группировки фильтров для гибкой логики
- Constraint system — проверка взаимозависимостей между параметрами
- Вложенные фильтры (nested filters) для работы со сложными структурами
Последний релиз — v0.6.0 (21 августа 2025)
- Возможность указывать группу по умолчанию для всего FilterSet (в том числе глобально)
- Поддержка subgroups для более сложных связей между фильтрами
- Новый метод FilterSet.get_combinator() для динамического выбора способа объединения фильтров
- ⚠️ Breaking change: теперь Entry нельзя создавать без указания группы
Почему стоит попробовать
Если стандартные фильтры Django REST кажутся ограниченными, rest-filters даёт:
- фильтрацию через сериализаторы,
- сложные сценарии с группировками и вложенностью,
- гибкость и расширяемость.
🔗 Репозиторий: https://github.com/realsuayip/rest-filters
🔍 Django ModelSearch: Умный поиск для ваших моделей
Django ModelSearch позволяет индексировать модели Django и осуществлять поиск с использованием ORM. Поддерживает PostgreSQL FTS, SQLite FTS5, а также Elasticsearch и OpenSearch. Идеально подходит для создания мощных поисковых решений.
🚀Основные моменты:
- Индексация моделей в Elasticsearch и OpenSearch
- Поддержка автозаполнения и фацетного поиска
- Повторное использование существующих QuerySets
- Поддержка нечеткого и фразового поиска
- Нулевая простоя при перестройке индекса
📌 GitHub: https://github.com/kaedroho/django-modelsearch
🖥 Разбираем Новые версии: Django 5.2.5 и Python 3.13.6
Django 5.2.5 (релиз — 6 августа 2025)
- Тип релиза: патч-релиз, устраняющий ошибки версии 5.2.4.
- Ключевые исправления:
- Восстановлена поддержка стратегии UNNEST в QuerySet.bulk_create() для PostgreSQL.
- Улучшена фильтрация по составному первичному ключу через tuple-выражения.
- Исправлены ошибки валидации модели при использовании GeneratedField, Q и Case.
- Добавлена совместимость с docutils версии 0.22.
- Исправлен сбой при использовании ManyToManyField с составным первичным ключом — обновлены проверки fields.E347.
Python 3.13.6 (релиз — 6 августа 2025)
- Тип релиза: шестой maintenance-релиз ветки 3.13, включает около 200 исправлений, улучшений сборки и обновлений документации.
- Ключевые особенности Python 3.13 по сравнению с 3.12:
- Новый усовершенствованный REPL с многострочным редактированием, цветным выводом и цветными трассировками ошибок.
- Экспериментальный free-threaded build mode (отключение GIL), доступен в виде python3.13t`/`python3.13t.exe.
- Встроенный экспериментальный JIT-компилятор (по-умолчанию отключён).
- locals() теперь имеет определённые семантики при мутации возвращаемого словаря.
- Включена изменённая версия mimalloc (по-умолчанию, если доступно), обязательна для free-threaded режима.
- Докстринги теперь очищаются от начальной отступной, что снижает объём `.pyc`-файлов.
- Новый бэкенд dbm.sqlite3 используется по умолчанию при создании файлов.
- Минимальная поддерживаемая версия macOS повысилась до 10.13 (High Sierra).
- Безопасность:
- Исправлена проблема, при которой фильтры filter="data" и filter="tar" в tarfile можно было обойти с помощью специально созданных сим- и жёстких ссылок.
Вывод:
- Django 5.2.5 — важный патч-релиз LTS-ветки, рекомендован для обновления производственных систем.
- Python 3.13.6 — очередной maintenance-релиз с множеством багфиксов и улучшений, особенно интересен разработчикам, работающим с производительностью (REPL, JIT, free-threaded).
Если нужно, могу подсказать, как безопасно обновиться или протестировать эти версии в вашем проекте.
🎂 Django празднует 20 лет — вспоминаем историю
Самый первый коммит в публичный репозиторий Django состоялся 15 июля 2005 года. Сегодня, 15 июля 2025-го, отмечаем этот важный юбилей!
13 июля 2005 года Джейкоб Каплан-Мосс сделал первый коммит в публичный репозиторий, который позже стал Django. С тех пор прошло 20 лет и более 400 релизов. Сегодня отмечаем круглую дату любимого веб-фреймворка.
К юбилею опубликован доклад Django Origins, впервые показанный 10 лет назад на праздновании десятилетия Django в Лоренсе, Канзас. В нём — история создания фреймворка, ранние идеи и проекты, построенные на нём, а также немного цифровой археологии.
https://simonwillison.net/2025/Jul/13/django-birthday/
🖥 Python в 2026 - уже не просто «первый язык программирования».
Это инструмент, с которым можно автоматизировать задачи, писать скрипты, собирать проекты, работать с данными, делать ботов и использовать ИИ как ускоритель разработки.
Но есть проблема: большинство новичков учат Python кусками. Немного синтаксиса, пару задачек, немного теории - и потом ступор: «а что с этим делать дальше?»
Этот курс сделан иначе. Здесь упор на реальную практику: вы не просто смотрите уроки, а постепенно учитесь писать код, разбирать ошибки, собирать рабочие решения и понимать, как Python применяется в нормальных задачах.
Что внутри:
- Python с нуля понятным языком
- практика вместо бесконечной сухой теории
- реальные задачи и проекты
- автоматизация рутины
- работа с файлами, данными и API
- понятная логика программирования
- современный подход к разработке с ИИ
- отдельный акцент на вайбкодинг
Вайбкодинг -это умение правильно ставить задачу, проверять код, понимать результат и ускорять работу без слепого копирования. В 2026 году это уже не бонус, а нормальный навык разработчика.
Сегодня скидка 60 процентов: https://stepik.org/course/288218/info
🐍 Полезный Django-совет
Если вы работаете с Django ORM и выбираете связанные объекты,
не делайте лишние запросы к базе.
Частая ошибка:
for post in Post.objects.all():
print(post.author.name)
posts = Post.objects.select_related("author")
for post in posts:
print(post.author.name)
🖥 Большинство “парсеров” умирают через 2 дня.
Ты научишься делать те, которые живут в проде.
Это не про BeautifulSoup ради галочки.
Это про системы сбора данных, которые:
• не падают от мелких правок на сайте
• собирают данные в разы быстрее
• обновляют всё сами по расписанию
• обходят ограничения и баны
• выглядят как сервис, а не хаос из файлов
Ты начнёшь видеть сайты не как страницы, а как источники данных, к которым можно подключиться.
В итоге ты сможешь:
• забирать данные для своих проектов
• автоматизировать чужую рутину
• делать инструменты для аналитики
• брать коммерческие заказы на сбор данных
Это навык, который напрямую превращается в деньги.
Не “знаю Python”, а умею добывать данные из интернета профессионально.
🎁 48 часов скидка 50% на Stepik: https://stepik.org/a/269942/
Вышли первые выпуски IT-покера от K2 Cloud
Турнир, где айтишники собирают идеальные билды из карт, интуиции и навыков. Вместо привычной колоды — технологии, сервисы и архитектурные решения.
Идем смотреть
🖥 На Stepik вышел курс, который учит работать с Docker на реальных проектах.
Владение Docker - навык, который отличает новичка от профи,
Сегодня почти всё разворачивается в контейнерах.
Если ты не умеешь работать с Docker, ты медленнее, зависим от чужих настроек и постоянно ловишь баги «у меня локально работает».
• как упаковывать проекты в контейнеры
• как поднимать целые системы за минуты
• как избегать типичных ошибок в продакшене
• как делать стабильные и повторяемые окружения
•в нем разобраны все возможные ошибки
Только практика и реальные кейсы от авторов Docker Академии- с нуля до уверенного уровня.
🎁 Скидка 40 процентов действует 48 часов
👉 Записывайся и сделай Docker своим настоящим рабочим инструментом.
⚡️ Базовая аутентификация в Django: как сделать правильно
В статье рассматривается, как настроить базовую (Basic) аутентификацию в Django для API и защищённых ресурсов.
Что такое Basic Authentication
Это самый простой способ аутентификации по HTTP: клиент отправляет логин и пароль в заголовке Authorization: Basic …, закодированные в base64. Подходит для API, но требует HTTPS, так как пароль передаётся в каждом запросе.
Django по умолчанию не предоставляет Basic Auth для view-функций. Он есть только в Django REST Framework. Если нужен собственный API или простая защита эндпоинтов без DRF — придётся реализовать самому.
Подход из статьи
Автор показывает, как создать middleware или декоратор, который:
- проверяет заголовок Authorization
- декодирует базу64
- валидирует логин/пароль
- возвращает 401 Unauthorized, если аутентификация не прошла
Пример (упрощённо):
1) Извлекаем заголовок
2) Проверяем, что он начинается с Basic
3) Декодируем base64
4) Сравниваем с нужными учётками
Для Django-view это можно обернуть в декоратор и использовать так:
@basic_auth_required
def my_view(request):
…
📌 Первые впечатления от системы фоновых задач в Django
В свежем разборе объясняется, как Django наконец получает встроенный инструмент для фоновой обработки заданий без необходимости тянуть сторонние библиотеки вроде Celery.
🔹 Что это такое
Django Background Tasks - новый официально поддерживаемый механизм для:
- отложенного выполнения задач (delayed jobs),
- периодических задач (cron-style),
- асинхронной фоновой обработки в рамках приложения.
🔹 Почему это важно
Раньше разработчикам приходилось выбирать сторонние решения (Celery, RQ, Dramatiq) с дополнительной инфраструктурой (Redis/RabbitMQ и т.п.). Теперь у Django будет собственный, простой и интегрированный способ:
- выполнять задачи после ответа пользователю,
- обрабатывать тяжёлые операции вне запроса,
- запускать периодические задачи без внешних кронов.
🔹 Как это работает
- Вы определяете задачу как обычную Python-функцию.
- Django регистрирует её в очереди внутреннего раннера.
- Фоновый воркер выполняет такие задачи по расписанию или сразу - без внешнего брокера.
🔹 Плюсы по сравнению с альтернативами
✔ встроенная интеграция с ORM и Django-экосистемой
✔ нет необходимости настраивать отдельный брокер
✔ ожидаемая простота и знакомый синтаксис для Django-разработчиков
🔹 О чём ещё в статье
- примеры кода с определением фоновых задач;
- как запускать и мониторить воркеры;
- ограничения и когда всё же стоит использовать более мощные системы.
📌 В сумме: Django делает шаг к тому, чтобы базовая фонвая обработка стала простой и доступной из коробки - это ускоряет разработку и снижает операционную сложность для большинства проектов.
https://roam.be/notes/2025/a-first-look-at-djangos-new-background-tasks/
🚀 django-keel - мощный стартовый шаблон для Django-проектов
💡 Что это такое
Готовый современный каркас для Django-приложений, который позволяет запускать новый проект за минуты — с правильной архитектурой, CI, Docker и продуманной конфигурацией.
🔥 Что внутри
- Поддержка Python 3.12+ и Django 5.2+
- Несколько видов проектов: SaaS, API-backend, web-app, internal tools
- Docker + Docker Compose
- Настроенные линтеры, тесты, coverage и GitHub Actions
- 12-factor конфигурация, разделённые settings (dev/test/prod)
- Варианты API: DRF или GraphQL
- Поддержка фронта: Next.js или HTMX + Tailwind
🎯 Почему стоит использовать
- Экономит недели рутинной настройки
- Даёт единообразную и поддерживаемую архитектуру
- Ускоряет разработку MVP, внутренних сервисов и SaaS-продуктов
🛠 Быстрый старт
copier copy gh:CuriousLearner/django-keel my-project
Почему «Async Django» часто решает не ту проблему
Django теперь умеет ASGI и async-views, но автор статьи отмечает: переход на async сам по себе почти ничего не ускоряет. Чтобы получить выгоду, весь код должен быть переписан под асинхронность, а в реальных проектах прирост обычно минимальный.
Где async реально нужен?
В задачах с большим количеством ожидания: внешние API, WebSockets, стриминг ответов. Там async даёт ощутимую экономию.
Но есть нюанс:
Django стал «двухрежимным» фреймворком - синхронные и асинхронные части живут рядом, усложняя архитектуру. ORM всё ещё в основном синхронная, и это становится бутылочным горлышком.
Поэтому для большинства проектов выгоднее оставить sync Django и вынести тяжёлые операции в фоновые задачи (Celery, RQ). Это проще, надёжнее и предсказуемее.
Итог:
Async Django - круто с инженерной точки зрения, но бизнес-ценность есть далеко не в каждом сценарии. Для большинства приложений классический Django остаётся лучшим выбором.
https://www.loopwerk.io/articles/2025/async-django-why/
Профессиональный гайд по работе с ChatGPT (2025)
Как использовать ChatGPT не просто как «умного собеседника», а как полноценного помощника для программирования, маркетинга, аналитики и обучения?
Мы разберём, какие версии модели существуют, какие плагины открывают новые возможности, как строить промпты так, чтобы получать точные и полезные ответы, и как интегрировать ChatGPT в рабочие процессы.
Если у вас нет доступа к chatgpt можете использовать бесплатного бота в телеге, чтобы потестить все техники из статьи или воспользоваться обычной версией с помощью всем известного обхода блокировки.
Не будем тянуть время, Поехали!
📌 Гайд
🔥 Как я пишу Django views
Автор предлагает использовать базовый класс Django View вместо generic class-based views (CBV) или function-based views (FBV). Такой подход даёт простоту и гибкость при работе с HTTP-запросами. Отказ от сложных миксинов и использование понятных вспомогательных методов делает код более читаемым и сопровождаемым, снижая когнитивную нагрузку на разработчика.
Ключевые идеи
- В Django есть два популярных способа писать views: FBV (функции) и CBV (классы, включая generic views).
- Generic CBV часто содержат слишком много "магии": базовые классы, миксины, переопределяемые методы — их трудно держать в голове.
- FBV наглядны, но при усложнении логики код превращается в большие конструкции if request.method == ....
- Автор выбирает компромисс: использовать базовый класс View.
- Код остаётся простым.
- Логика neatly разделяется по методам (`get`, post и др.).
- Неподдерживаемые методы автоматически возвращают 405 (Method Not Allowed).
Пример
Вместо функции с if request.method:
class CommentFormView(View):
def get(self, request, post_id, *args, **kwargs):
post = get_object_or_404(Post, pk=post_id)
form = CommentForm()
return TemplateResponse(request, "form.html", {"form": form, "post": post})
def post(self, request, post_id, *args, **kwargs):
post = get_object_or_404(Post, pk=post_id)
form = CommentForm(data=request.POST)
if form.is_valid():
comment = form.save(commit=False)
comment.post = post
comment.save()
return redirect(post)
return TemplateResponse(request, "form.html", {"form": form, "post": post})
🕸️ Django Tip — ускоряй сложные запросы с помощью `only()` + `defer()`
В Django ORM часто делают Model.objects.all(), вытаскивая все поля модели. Но если таблица тяжёлая, это съедает кучу памяти и тормозит.
💡 Лайфхак: загружай только нужные поля:
# Вместо этого
users = User.objects.all()
# Сделай так
users = User.objects.only("id", "username")
А если нужно отложить подгрузку дорогих полей (например, JSON или TextField):
users = User.objects.defer("profile_data", "settings_blob")
⚡️ Limekit — кроссплатформенный GUI-фреймворк на Lua
Хочешь писать десктоп-приложения без Python и компиляции?
С Limekit всё просто: «написал один раз — запускай везде» (Windows, macOS, Linux).
✨ Что умеет:
- Чистый Lua API, без необходимости знать Python
- 40+ встроенных виджетов, поддержка Material Design и тёмной темы
- Запуск без сборки — достаточно Python и самого фреймворка
- Много примеров и документация на ReadTheDocs
- Полностью опенсорс (GPLv3)
📌 Минимальный пример:
local window = Window{title='Limekit app'}
window:show()
🔥 WaterCrawl — продвинутая платформа для веб-краулинга и подготовки данных под LLM
Если нужно собрать и структурировать контент с сайтов для ИИ — это мощный инструмент.
🧠 В основе:
— Django + Scrapy + Celery
— Асинхронный краулинг, API и UI
— Скриншоты, PDF, JS-рендер, SSE
🚀 Возможности:
— Быстрый запуск через Docker (`docker compose up`)
— Интеграции с Dify, n8n, Langflow
— Пакетная отправка запросов через REST API
— SDK для Python, Go, Node, PHP
⚙️ Репозитории
🔍 Silk — мощный инструмент для профилирования Django-приложений в реальном времени. Этот open-source проект перехватывает HTTP-запросы, SQL-запросы и позволяет детально анализировать производительность вашего кода через удобный веб-интерфейс.
Инструмент обладает возможностью профилирования отдельных участков кода через декораторы и контекст-менеджеры. Инструмент особенно полезен при поиске узких мест в производительности, анализе сложных SQL-запросов и оптимизации времени отклика приложения.
🤖 GitHub