ar
Feedback
Django Python

Django Python

الذهاب إلى القناة على Telegram
6 691
المشتركون
-624 ساعات
-227 أيام
-8130 أيام
أرشيف المشاركات
Профессиональный гайд по работе с ChatGPT (2025) Как использовать ChatGPT не просто как «умного собеседника», а как полноценн
Профессиональный гайд по работе с ChatGPT (2025) Как использовать ChatGPT не просто как «умного собеседника», а как полноценного помощника для программирования, маркетинга, аналитики и обучения? Мы разберём, какие версии модели существуют, какие плагины открывают новые возможности, как строить промпты так, чтобы получать точные и полезные ответы, и как интегрировать ChatGPT в рабочие процессы. Если у вас нет доступа к chatgpt можете использовать бесплатного бота в телеге, чтобы потестить все техники из статьи или воспользоваться обычной версией с помощью всем известного обхода блокировки. Не будем тянуть время, Поехали! 📌 Гайд

🚀 Django 6.0 — уже в пути! ✨ Главное в Django 6.0 - Content Security Policy (CSP) Новый ContentSecurityPolicyMiddleware, тег
🚀 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

🔥 Как я пишу Django views Автор предлагает использовать базовый класс Django View вместо generic class-based views (CBV) или
🔥 Как я пишу 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})
👉 Источник: https://loopwerk.io/articles/2025/django-views/

🖥 rest-filters — фильтрационный бэкенд для Django REST framework Что это: Новый инструмент для фильтрации в DRF, который рас
🖥 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 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")
🟢 Что это даёт ⚡ Сильно ускоряет SQL-запросы (SELECT только нужные столбцы). 📉 Экономит память, так как Django не держит ненужные данные. 🔄 Поля можно подгрузить позже — при первом обращении Django сделает отдельный запрос. 💡 Совет: комбинируй only() и defer() для тонкого контроля — так можно оптимизировать даже очень «тяжёлые» модели без переписывания логики.

🔍Тестовое собеседование на Middle Python в четверг с разработчиком из Авито 28 августа(в четверг) в 19:00 по мск приходи онл
🔍Тестовое собеседование на Middle Python в четверг с разработчиком из Авито 28 августа(в четверг) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика. Как это будет: 📂 Даня, старший разработчик в Авито, будет задавать реальные вопросы и задачи разработчику-добровольцу 📂 Даня будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью 📂 В конце можно будет задать любой вопрос Дане Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Java-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot Реклама. О рекламодателе.

🔍 Django ModelSearch: Умный поиск для ваших моделей Django ModelSearch позволяет индексировать модели Django и осуществлять поиск с использованием ORM. Поддерживает PostgreSQL FTS, SQLite FTS5, а также Elasticsearch и OpenSearch. Идеально подходит для создания мощных поисковых решений. 🚀Основные моменты: - Индексация моделей в Elasticsearch и OpenSearch - Поддержка автозаполнения и фацетного поиска - Повторное использование существующих QuerySets - Поддержка нечеткого и фразового поиска - Нулевая простоя при перестройке индекса 📌 GitHub: https://github.com/kaedroho/django-modelsearch

⚡️ Limekit — кроссплатформенный GUI-фреймворк на Lua Хочешь писать десктоп-приложения без Python и компиляции? С Limekit всё
⚡️ 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()
Две строки кода — и у тебя уже готовое окно 🚀 ⚡️GitHub @pythonl

🖥 Разбираем Новые версии: 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). Если нужно, могу подсказать, как безопасно обновиться или протестировать эти версии в вашем проекте. @pythonl

🔥 WaterCrawl — продвинутая платформа для веб-краулинга и подготовки данных под LLM Если нужно собрать и структурировать конт
🔥 WaterCrawl — продвинутая платформа для веб-краулинга и подготовки данных под LLM Если нужно собрать и структурировать контент с сайтов для ИИ — это мощный инструмент. 🧠 В основе: — Django + Scrapy + Celery — Асинхронный краулинг, API и UI — Скриншоты, PDF, JS-рендер, SSE 🚀 Возможности: — Быстрый запуск через Docker (`docker compose up`) — Интеграции с Dify, n8n, Langflow — Пакетная отправка запросов через REST API — SDK для Python, Go, Node, PHP ⚙️ Репозитории

🎂 Django празднует 20 лет — вспоминаем историю Самый первый коммит в публичный репозиторий Django состоялся 15 июля 2005 год
🎂 Django празднует 20 лет — вспоминаем историю Самый первый коммит в публичный репозиторий Django состоялся 15 июля 2005 года. Сегодня, 15 июля 2025-го, отмечаем этот важный юбилей! 13 июля 2005 года Джейкоб Каплан-Мосс сделал первый коммит в публичный репозиторий, который позже стал Django. С тех пор прошло 20 лет и более 400 релизов. Сегодня отмечаем круглую дату любимого веб-фреймворка. К юбилею опубликован доклад Django Origins, впервые показанный 10 лет назад на праздновании десятилетия Django в Лоренсе, Канзас. В нём — история создания фреймворка, ранние идеи и проекты, построенные на нём, а также немного цифровой археологии. https://simonwillison.net/2025/Jul/13/django-birthday/

OpenIDE – профессиональные инструменты без ограничений Первое большое онлайн-событие запуск OpenIDE — новой бесплатной мультиязычной среды разработки, построенной на базе IntelliJ IDEA Platform. 🧩 Вместе с ключевыми разработчиками, лидерами и представителями отрасли мы обсудим: - Зачем появилась OpenIDE. - Как она уже сегодня может заменить IntelliJ Platform для Java и Spring. - В чём её ценность для всей экосистемы. - Как работать с проектами на Go, Python и TypeScript. - Как присоединиться к сообществу и помочь развитию проекта. Покажем, почему OpenIDE — это не просто очередная сборка, а открытая экосистема для Java, Kotlin, Go, Python, JS, TS и десятков других языков. 👉🏻Со своим маркетплейсом. С исходниками. Без ограничений. 📅 31 июля в 17:00 МСК 📍 Бесплатно, онлайн, на всех наших платформах. Главное – зарегистрироваться. #реклама О рекламодателе

Как прокачаться до Python Middle+/Senior разработчика и получить новую работу в 2025? Ребята из Interview Hustlers в четверг
Как прокачаться до Python Middle+/Senior разработчика и получить новую работу в 2025? Ребята из Interview Hustlers в четверг проводят воркшоп о том, как junior и middle-разработчикам быстрее вырасти до уровня крепкого Senior, овладеть hard skills, востребованными в продуктовых компаниях и BigTech, и получить новую работу на сложном рынке в 2025 году, где AI уже наступает на пятки. 🗓 24 июля 19:00 по МСК Программа: ▪️ Какие hard skills качать, чтобы устроиться на Middle+/Senior разработчика в BigTech? ▪️ Как эффективно собеседоваться на тяжелом рынке летом 2025? Как выбивать максимальные офферы в РФ и заграницей? ▪️ Как вырасти технически на текущем месте работы и получить повышение в компании? Спикеры: ▪️Максим Аверин — Senior Python Dev, основатель школы Interview Hustlers, 8 лет опыта ▪️Сергей Соловьев — Python Tech Lead в Кипрском финтехе, 10+ лет опыта Регистрируйся на бесплатный воркшоп по ссылке. 📎 После регистрации на воркшоп ты получишь 2 бонуса: «Как разобрать неудачное собеседование без фидбека за 3 шага с AI?» и видео-урок «System Design интервью: Как спроектировать highload-маркетплейс с 0?»

🔍 Silk — мощный инструмент для профилирования Django-приложений в реальном времени. Этот open-source проект перехватывает HT
🔍 Silk — мощный инструмент для профилирования Django-приложений в реальном времени. Этот open-source проект перехватывает HTTP-запросы, SQL-запросы и позволяет детально анализировать производительность вашего кода через удобный веб-интерфейс. Инструмент обладает возможностью профилирования отдельных участков кода через декораторы и контекст-менеджеры. Инструмент особенно полезен при поиске узких мест в производительности, анализе сложных SQL-запросов и оптимизации времени отклика приложения. 🤖 GitHub

🎯 django-rls — декларативный Row-Level Security для Django + PostgreSQL Пакет от [kdpisda](https://github.com/kdpisda/django
🎯 django-rls — декларативный Row-Level Security для Django + PostgreSQL Пакет от [kdpisda](https://github.com/kdpisda/django-rls), который позволяет удобно задавать политики Row-Level Security (RLS) прямо внутри моделей Django — с генерацией SQL-политик на этапе makemigrations. 🔐 Основные возможности: - Объявление RLS-политик в моделях (через класс `RLS`) - Автоматическая генерация SQL-политик при миграциях - Поддержка многотенантности (tenant_id) - Совместимость с Django ORM и PostgreSQL 📦 Пример использования:

class Invoice(RLSModel):
    customer = models.ForeignKey(Customer, on_delete=models.CASCADE)

    class RLS:
        policies = [
            RLSPolicy(
                name="tenant_isolation",
                using="customer_id = current_setting('myapp.tenant_id')::integer"
            )
        ]
📌 При makemigrations будут сгенерированы команды: sql CREATE POLICY tenant_isolation ON invoice USING (customer_id = current_setting('myapp.tenant_id')::integer); ALTER TABLE invoice ENABLE ROW LEVEL SECURITY; 🛠️ Установка: bash pip install django-rls 📚 Документация и исходники: GitHub → github.com/kdpisda/django-rls Идеально для: Django-проектов с многотенантной архитектурой и требованиями к безопасности на уровне данных.

Какие базы данных поддерживает Django? PostgreSQL и MySQL, SQLite и Oracle. Помимо этого, Django также поддерживает такие базы данных, как ODBC, Microsoft SQL Server, IBM DB2, SAP SQL Anywhere и Firebird с использованием сторонних пакетов. Примечание: официально Django не поддерживает базы данных no-SQL.

Всем привет! Решил собрать папку по бэкенду — тут всё, что обычно остаётся за кадром, но без чего ничего не работает. Ребята пишут про то, как проектируют архитектуру, залипают в логи, чинят на проде и выбирают между «быстро» и «качественно». Много каналов от разработчиков с огромным опытом, которые годами пилят реальные проекты, есть те, кто пишет про подходы, выгорание, рефакторинг, читаемый код, сложные конфиги и продакшен-факапы. Немного про Node, есть Go, Django — в общем, всё, что чаще всего крутится у нас под капотом. Не туториалы, а живой бэкенд: что взлетает, что потом переписывается, и как всё это жить. Добавил пару каналов с вакансиями — те, что не раздражают, но полезны. 📂 Собрал себе, чтобы не теряться в ленте, но делюсь с вами — забирайте

♻️ Garbage Collector в Python — как он реально работает Python сам управляет памятью, но делает это не одним, а двумя способами одновременно: 1⃣ Подсчёт ссылок (Reference Counting) Каждый объект в Python хранит число ссылок на себя:

import sys

a = []
print(sys.getrefcount(a))  # покажет количество ссылок на объект
📝 Когда ссылок становится 0 — объект немедленно удаляется, и память освобождается. ✅ Быстро и просто. ❗️ Проблема: не справляется с циклическими ссылками:

a = []
a.append(a)  # теперь объект содержит ссылку на себя
2⃣ Поколенческий сборщик мусора (Generational GC) Чтобы находить такие циклы, Python использует модуль gc. Все объекты отслеживаются по «возрасту»: 📝 Поколение 0 — новые объекты 📝 Поколение 1 — выжили после первой сборки 📝 Поколение 2 — считаются «старожилами» Чем старше объект, тем реже его проверяют, чтобы не тратить ресурсы:

import gc

gc.collect()            # вручную запустить сборку мусора
gc.get_count()          # сколько объектов в каждом поколении
gc.get_threshold()      # когда запускать сборку
Почему это важно: 📝 GC работает фоном и почти незаметно, но может вызвать лаги, если не оптимизировать. 📝 Вы можете влиять на GC: отключать, настраивать пороги, анализировать поведение. 📝 В больших проектах с долгоживущими объектами важно знать, в каком поколении что живёт.

photo content

photo content

Django Python - إحصائيات وتحليلات قناة تيليجرام @django_pythonl