uk
Feedback
Django Python

Django Python

Відкрити в Telegram
6 612
Підписники
-524 години
-97 днів
-3830 день
Архів дописів
🎯 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

Митап для QA-инженеров от MТС Web Services 📍 3 июля | 19:00 📍 Офлайн в Москве | Онлайн О чем поговорим: — О создании отечес
Митап для QA-инженеров от MТС Web Services 📍 3 июля | 19:00 📍 Офлайн в Москве | Онлайн О чем поговорим: — О создании отечественного браузерстека MWS SunQ; — Об автотестах на естественном языке; — Об идеальном фреймворке для автоматической генерации тестов; — О предиктивной оценке качества. На True Tech QA выступят эксперты из MTC Web Services, Альфа-Банка и BugBuster. Для участия зарегистрируйся по ссылке

🚀 TurboDRF — ускоритель Django REST Framework без боли TurboDRF — лёгкий способ ускорить ваш Django API без перехода на Fast
🚀 TurboDRF — ускоритель Django REST Framework без боли TurboDRF — лёгкий способ ускорить ваш Django API без перехода на FastAPI или переписывания логики. 🔥 Что даёт TurboDRF: • ⚡ Быстрый рендер сериализаторов • 🧠 Автоматический prefetch_related и select_related • 🧊 Кэширование сериализованных ответов • 🧩 Совместим с обычными DRF-сериализаторами 📦 Установка: pip install turbodrf 🛠️ Пример:

from turbodrf.mixins import TurboModelSerializer

class MySerializer(TurboModelSerializer):
    class Meta:
        model = MyModel
        fields = "__all__"
✅ Идеален для больших Django-проектов, где важна скорость ответа. 🔗 GitHub: https://github.com/alexandercollins/turbodrf

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

📚 Django Styleguide — готовый гайд по архитектуре проектов для Django-разработки, основанные на опыте коммерческих проектов.
📚 Django Styleguide — готовый гайд по архитектуре проектов для Django-разработки, основанные на опыте коммерческих проектов. Здесь сделан акцент на разделение бизнес-логики: сервисы для записи данных, селекторы для чтения и чёткие правила валидации в моделях. Особенно полезен среди прочих раздел про обработку ошибок в DRF и примеры тестирования сложных сценариев. Авторы предлагают адаптировать подходы под конкретные задачи, а полный пример проекта вынесен в отдельный репозиторий. 🤖 GitHub

Курс по разработке бэкенда приложений на Django Мир веб-разработки не стоит на месте, и умение создавать крепкие бэкенды становится всё нужнее. Особенно когда можно собрать своё первое API-приложение уже на старте. Ловите курс по Django, где прокачивается всё: от Git и настройки окружения до развёртывания проекта на сервер и тестирования через Pytest. А ещё отдельно разбираются темы вроде CI/CD, работы с базами данных через ORM и правильной архитектуры кода. Если хочется разобраться, как строятся реальные бэкенд-сервисы на Django — заглядываем на этот курс. #курс #backend #web #django #ru

Ваш первый бэкенд на Django — пошаговый учебник Бесплатный самоучитель по Django, созданный специально для новичков. Шаг за ш
Ваш первый бэкенд на Django — пошаговый учебник Бесплатный самоучитель по Django, созданный специально для новичков. Шаг за шагом вы создадите веб-приложение (блог) на Python с использованием фреймворка Django. По ходу дела объясняются все необходимые основы — от базового Python до шаблонов HTML/CSS. К концу у вас будет собственный рабочий блог на сервере и понимание принципов бэкенд-разработки. #бэкенд #python #django

🔍 Основные нововведения в Django 5.2 1. 📦 Автоматический импорт моделей в интерактивной оболочке Теперь при запуске команды
🔍 Основные нововведения в Django 5.2 1. 📦 Автоматический импорт моделей в интерактивной оболочке Теперь при запуске команды python manage.py shell все модели из установленных приложений автоматически импортируются. Это упрощает работу в интерактивной оболочке, позволяя сразу использовать модели без необходимости ручного импорта. Для получения подробностей об импортированных объектах можно использовать флаг -v 2.​ 2. 🔗 Поддержка составных первичных ключей Django 5.2 вводит нативную поддержку составных первичных ключей через класс CompositePrimaryKey. Это позволяет создавать таблицы с первичным ключом, состоящим из нескольких полей, без необходимости использования сторонних решений.​ 3. 🧩 Гибкая настройка BoundField в формах Теперь можно переопределять класс BoundField на уровне проекта, формы или отдельного поля, устанавливая атрибут bound_field_class. Это предоставляет разработчикам более тонкий контроль над отображением и поведением форм.​ 4. ⚡ Расширенная асинхронная поддержка Django продолжает движение в сторону асинхронности, добавляя новые асинхронные методы и улучшая реализацию бэкендов аутентификации. Это особенно полезно для операций, связанных с вводом-выводом, и способствует созданию более производительных приложений.​ 5. 🎨 Новые виджеты форм и улучшения интерфейса Добавлены новые виджеты форм, такие как ColorInput, SearchInput и TelInput, соответствующие стандартам HTML5. Также улучшена доступность форм для пользователей с особыми потребностями.​ Bastaki Software Solutions L.L.C-FZ 6. 🗃️ Улучшения в работе с базой данных Поддержка изогнутых геометрий в GDAL, включая CurvePolygon, CompoundCurve, CircularString, MultiSurface и MultiCurve. По умолчанию соединения с MySQL используют кодировку utf8mb4 вместо устаревшей utf8mb3. Улучшена работа методов values() и values_list(), теперь они генерируют SELECT-запросы в указанном порядке.​ 🔧 Совместимость и поддержка Django 5.2 поддерживает Python версий 3.10–3.13. С выходом этой версии, основная поддержка Django 5.1 завершена. Последний минорный релиз 5.1.8, также содержащий обновления безопасности, был выпущен одновременно с 5.2. Django 5.0 достиг конца расширенной поддержки. Последний релиз безопасности, 5.0.14, также был выпущен сегодня. Рекомендуется обновиться до версии 5.1 или более новой. 📥 Обновление и ресурсы Загрузить Django 5.2 можно с официальной страницы загрузки или через PyPI. Полные примечания к релизу доступны в официальной документации. Для автоматического обновления кода и устранения устаревших конструкций можно использовать инструмент django-upgrade.​ Django Project Django 5.2 предлагает множество улучшений, направленных на упрощение разработки и повышение производительности приложений. Рекомендуется ознакомиться с новыми возможностями и планировать обновление своих проектов для использования всех преимуществ этой версии. 📌 Релиз

Repost from Python/ django
🖥 DeepMesh – это исследовательский проект, направленный на создание высококачественных 3D-мешей с помощью методов глубокого обучения. 🟢Глубокое обучение для 3D-реконструкции: Проект использует нейросетевые методы для обучения неявных представлений объектов, что позволяет реконструировать гладкие и точные поверхности даже из разрежённых данных (например, облаков точек). 🟢Алгоритмы извлечения мешей: После получения неявной функции, описывающей форму объекта, применяются алгоритмы, такие как Marching Cubes, для извлечения явной 3D-сетки. 🟢Инструменты для визуализации и экспериментов: Репозиторий включает код для обучения моделей, проведения экспериментов и визуализации результатов, что облегчает воспроизведение исследований и применение метода в различных задачах компьютерного зрения и графики. 🟢Потенциал применения: Такой подход может быть полезен для задач реконструкции объектов, симуляции, компьютерной графики и дополненной реальности, где требуется точное представление сложных форм. 📌 Github @pythonl

🔍Тестовое собеседование на Middle Бекенд Python-разработчика в четверг 27 марта(уже в четверг!) в 19:00 по мск приходи онлай
🔍Тестовое собеседование на Middle Бекенд Python-разработчика в четверг 27 марта(уже в четверг!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика. Как это будет: 📂 Савва Демиденко, ТехЛид с опытом в Яндексе и Авито, будет задавать реальные вопросы и задачи разработчику-добровольцу 📂 Савва будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью 📂 В конце можно будет задать любой вопрос Савве Это бесплатно. Эфир проходит в рамках курса от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд и прокачать скиллы. Все участники эфира получат бесплатный урок по System Design. Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2Vtzquu6XcU

Repost from Python/ django
👩‍💻 Wowy — это шаблон интернет-магазина, построенный на Django 4.x, который предоставляет полный набор функций для управлен
👩‍💻 Wowy — это шаблон интернет-магазина, построенный на Django 4.x, который предоставляет полный набор функций для управления! 🌟 Она обеспечивает удобный пользовательский интерфейс и мощную панель администратора. Включает поддержку управления товарами (с множеством изображений), управление категориями, корзину, список желаний, генерацию PDF-счетов и детальную аналитику продаж. 🔐 Лицензия: MIT 🖥 Github @pythonl

5 распространённых ошибок в Django 1️⃣ Вы не используете select_related и prefetch_related для FK и M2M запросов ❌ Ошибка: Не
+4
5 распространённых ошибок в Django 1️⃣ Вы не используете select_related и prefetch_related для FK и M2M запросов ❌ Ошибка: Неоптимизированные запросы к базе данных при работе с внешними ключами и многими ко многим, что приводит к неэффективным запросам (проблема N+1). 2️⃣ Недооценка возможностей Django Admin ❌ Ошибка: Недостаточное использование мощных функций интерфейса администрирования Django. 3️⃣ Обращение с QuerySets как с обычными списками ❌ Ошибка: Неправильное понимание работы QuerySets, что приводит к лишним запросам к базе данных. 4️⃣ Неверное обслуживание статических и медиа-файлов ❌ Ошибка: Использование Django для обслуживания статических и медиа-файлов в продакшене. 5️⃣ Использование `.all() с большими или неупорядоченными наборами данных ❌ Ошибка: Использование .all() на моделях без дефолтного порядка или с большими наборами данных, что приводит к проблемам с производительностью.

Repost from Python RU
🖥 Authentik — это система управления удостоверениями (IAM) с открытым исходным кодом, предназначенная для обеспечения аутент
+1
🖥 Authentik — это система управления удостоверениями (IAM) с открытым исходным кодом, предназначенная для обеспечения аутентификации и авторизации пользователей в различных приложениях! 🌟 Она поддерживает единый вход (SSO), многофакторную аутентификацию (MFA) и интеграцию с популярными протоколами, такими как OAuth2, SAML и LDAP. Authentik используется для защиты веб-приложений и управления доступом на основе ролей. 🔐 Лицензия: CC BY-SA 4.0 🖥 Github

⚡ ai-hedge-fund – -инструмен для анализа финансовых рынков на основе ИИ Новый репозиторий от команды AI Hedge Fund, который в
⚡ ai-hedge-fund – -инструмен для анализа финансовых рынков на основе ИИ Новый репозиторий от команды AI Hedge Fund, который включает в себя экспериментальные скрипты и модули для анализа финансовых данных с использованием Python. git clone https://github.com/virattt/ai-hedge-fund.git cd ai-hedge-fund Github @pythonl

🤔 Основы математики в Machine Learning / Deep Learning 🗓 6 марта приглашаем вас на прямой эфир, где мы подробно разберем ря
🤔 Основы математики в Machine Learning / Deep Learning 🗓 6 марта приглашаем вас на прямой эфир, где мы подробно разберем ряд Тейлора, собственные векторы и другие ключевые понятия в ML. (ссылка) 🌟 Спикер: *Мария Горденко* – Старший преподаватель ФКН НИУ ВШЭ, НИТУ МИСИС, аспирант департамента анализа данных и искусственного интеллекта ФКН НИУ ВШЭ, а также преподаватель на курсе Алгоритмы и структуры данных в proglib academy. Место работы: Инженер-программист, ведущий эксперт НИУ ВШЭ, цифровой ассистент и цифровой консультант НИУ ВШЭ. 😮 На вебинаре вы узнаете: 🔵 Теорию вероятностей: обсудим случайные величины, вероятность, математическое ожидание и дисперсию. 🔵 Линейную алгебру: изучим векторы, матрицы, собственные векторы и собственные значения. 🔵 Математический анализ: разберем производные и разложение функций в ряд Тейлора. 🔵 Практику: применим полученные знания на реальных кейсах из области Machine Learning и Deep Learning. 🎯 Почему это важно? Понимание математических основ помогает глубже разобраться в работающих под капотом алгоритмах ML/DL и эффективно применять их на практике. 👉 Присоединяйтесь к нам и совершенствуйте свои навыки в машинном обучении! 📌 Регистрация по ссылке: https://proglib.io/w/fe260c46 Реклама. ИП Дрёмов Артём Сергеевич, ИНН 771391651571. Erid 2VtzqvwgKH8