Django Unleashed Framework
1.46K subscribers
2.17K photos
2.58K links
Лучшие материалы по разработке на фреймворке Django на русском и английском языке

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Другие наши проекты: https://tprg.ru/media
Download Telegram
Асинхронный django: разоблачение Великого и Ужасного

Доброе утро, дорогие читатели! Это новый выпуск про асинхронность и django. Собственно, это follow-up: это должна была быть тема моей предыдущей статьи, но в прошлый раз у автора "не хватило проницательности" - как однажды выразился филин Гуамоко из "Волшебника Изумрудного города".

В общем, есть среди так называемых core разработчиков django один джентльмен по фамилии Гудвин. django channels, а также большинство фич, связанных с асинхронностью - это его творчество. В предыдущей статье я хотел похвалить использованный им подход, но потом разочаровался в нём: подход так себе.

А недавно - на последней конференции - что выдал этот кадр: он заявил, что, в общем-то, не очень привязан к django как к веб-фреймворку - что в этом плане, ему больше нравится FastAPI! Кроме того, в своём собственном проекте он использует клон FastAPI, django-ninja! Напомню, что по сюжету повести, великий и ужасный обманщик в конце покидает Изумрудный город на воздушном шаре.

После этих выяснившихся фактов, я думаю, читателю будет проще воспринять мою критику оного персонажа, коей в статье хватает. FastAPI, конечно - объективно, хороший фреймворк (написал пару слов о нём тоже!)
Читать

Читать: https://habr.com/ru/articles/712644/
👍1
React+Django как написать Hello World

Создание веб приложения на основе React и Django, с базой данных на postgress, небольшое прощупывание RabbitMQ и чуть-чуть nginx, потом объясню зачем. Ах да! Завернём все в контейнеры и заставим подниматься в три команды!


Читать: https://habr.com/ru/articles/713490/
👍1
Python Дайджест: как обновиться с Python 3.4 до Python 3.11, если pip уже сломан

Python Дайджест собирает IT-новости уже 9 лет, рассказывает о концепциях, проектах, релизах. Кодовая база за это время мало изменилась и уже деградировала. Более 5 лет не хватало сил и времени, чтобы привести проект в актуальное состояние. Django с 1.9 обновилась уже до 4.1 версии, Python 3.4 не актуален, да даже обновить пакет через pip не получается, потому что сломан.
В 4 частях расскажу от первого лица, как 9-летний проект из состояния outdated вернулся в actual состояние и снова набрал 100 баллов в PageSpeed.
Начну с обновления до актуального Python и Django.


Читать: https://habr.com/ru/companies/first/articles/709068/
Главное из мира Python за январь 2023

Раз в месяц мы в Moscow Python Podcast собираемся и обсуждаем новые релизы, PEP, заинтересовавшие нас инструменты и статьи. Под катом — текстовая выжимка из обсуждения.


Читать: https://habr.com/ru/articles/715646/
Использовать хранилище Django для хранения результатов Celery в Google Cloud

Тот, кто подключает Celery к Django, использует как правило, пакет django-celery-results для использования таблицы специальной модели Django в качестве хранилища результатов выполнения задач Celery.

Вероятно, через какое-то время, у вас возникнет желание заменить такую таблицу на что-то другое, например облачное хранилище. Приглашаю под кат всех заинтересованных.


Читать: https://habr.com/ru/articles/716202/
Создаем диаграмму миграций Django проекта

Наверное странная идея — нарисовать диаграмму миграций проекта Django. Вроде как — а зачем? Но если у Вас некий достаточно большой и достаточно старый проект, да еще над которым постоянно работает хотя бы небольшая команда — разобраться в зависимостях миграций становится уже сложновато.

Ну и так — полезно понять, как можно автоматически выбрать из проекта структуру миграций и построить из них диаграмму. Причем — автоматически. Что бы можно было это делать в любой нужный момент.
Итак приступим

Читать: https://habr.com/ru/articles/717220/
Что нам несет Python 3.12

Переписали виртуальную машину на новый DSL

И теперь ее гораздо проще менять, оптимизировать и проводить эксперименты.

В качестве примера, можно посмотреть на попытку добавления register-based интерпретатора. Другой пример, что часто два опкода идут вместе и выполняются последовательно большую часть времени. Например, LOAD_CONSTи RETURN_VALUE. Для оптимизации, можно добавить новый опкод этой операции. Вместо двух действий он будет выполнять одно. На частых задачах получится неплохая прибавка к производительности.

Еще один пример: опкод CALL_FUNCTION.Сам по себе довольно медленный. У него есть целая семья оптимизаций, например специализация CALL_FUNCTION_ISINSTANCE, когда мы выкидываем промежуточный слой и сразу вызываем C-реализацию isinstance. Минус в том, что Python богатый и динамически типизированный язык. В runtime может что-то поменяться и мы получим замедление — придется сваливаться обратно на общий путь опкода CALL_FUNCTION.


Читать: https://habr.com/ru/articles/717420/
Пакет для импорта данных в Django

Привет всем, хочу рассказать, что у меня получилось, когда я понял, что нам нужен пакет импорта произвольных данных из админки.


Читать: https://habr.com/ru/articles/718122/
Как изучать язык Python для веб-разработки в 2023 году. Общие ориентиры

Привет, Хабр! Меня зовут Тимофей, я Python Engineer с опытом в 3+ года.

Я бы не назвал данную статью полноценным роадмэпом в том понимании, в котором это слово обычно используют. В статье нет сроков изучения, отсутствует подробный план, затрагивающей все темы и подтемы. Да и зачем нужен еще один роадмэп «под копирку», когда в сети и так хватает качественных предложений.

Скорее, я хотел бы составить абстрактный план обучения, который сможет задать общий ориентир, а также будет коррелировать с роадмэпом вроде roadmap.sh. Кроме этого, я смогу дать несколько полезных советов из своего опыта, а также составлю списки полезных ресурсов для изучения языка, сопутствующих инструментов и технологий, которые в свое время помогли или же помогают мне самому.


Читать: https://habr.com/ru/articles/718376/
Пишем сервис для сокращения ссылок на Django, DRF

В этой статье мы напишем сервис для сокращения ссылок на Django, DRF.

Итак, на днях я получил тестовое задание от потенциального работодателя и решил убить двух зайцев сразу: выполнить тестовое задание и написать статью, в которой подробно описать весь процесс.

Итак, что мы имеем.


Читать: https://habr.com/ru/articles/718800/
Основы PyCharm

Сегодня я расскажу новичкам про полезные и удобные функции PyCharm. Эта статья предназначена для тех, кто только знакомится с PyCharm и написал свои первые программы. Затронем основной функционал пайчарма, который поможет упростить и ускорить вашу работу и узнаем, как запускать сервер и тесты Django в один клик. А ещё, я поделюсь подборкой полезных плагинов и горячих клавиш.


Читать: https://habr.com/ru/articles/720480/
Как разработать канбан-доску на Django, DRF и Alpine.js

Для структурирования и мониторинга рабочих процессов используют канбан-доски — например, Jira и Trello. Они особенно полезны, когда задачи состоят из множества этапов — согласования, выполнения, ревью и продакшена.

В статье рассказываем, как разработать собственную канбан-доску и развернуть ее на облачном сервере. Подробности под катом.


Читать: https://habr.com/ru/companies/selectel/articles/721022/
Python, Django и немного защиты кода

Привет, Habr! Компания, в которой я работаю, занимается системами умного дома и видеонаблюдения. Услуга работает по форме SaaS. Но недавно было решено продавать и локальное решение. За основу «коробки» было решено взять облако, немного его переделать и вот готов новый продукт…

С переездом с облачных «рельс» возник ряд вопросов. Один из них в том, что весь проект написан на Python‑ язык интерпретируемый на лету и не защищенный от копирования от слова совсем. Второй момент, что в проекте используется Django. Фреймворк со своими зависимостями, которые еще аукнулись нам в процессе поиска решений. То с чем мы столкнулись и к чему пришли далее в статье.


Читать: https://habr.com/ru/articles/721260/
[recovery mode] Разработка Web API на Django с помощью Django REST framework: от создания моделей до тестирования

Django REST framework (DRF) — это мощный и гибкий инструмент для создания Web API на основе Django. Он предоставляет удобные средства для создания RESTful API, поддерживает аутентификацию, авторизацию, сериализацию, валидацию и другие функции.

В этой статье мы рассмотрим, как использовать Django REST framework для создания Web API на базе Django.


Читать: https://habr.com/ru/articles/722054/
Главное из мира Python за февраль 2023

Раз в месяц мы в Moscow Python Podcast собираемся и обсуждаем новые релизы, PEP, заинтересовавшие нас инструменты и статьи. Под катом — текстовая выжимка из обсуждения.


Читать: https://habr.com/ru/articles/722008/
Python Дайджест: как актуализировать всю кодовую базу с помощью pre-commit

Продолжаю рассказывать, как open source проект Python Дайджест спустя 5 лет без обновлений удалось актуализировать по всему стэку технологий. В первой части рассказал, как удалось outdated проект с Python 3.4 обновить до Python 3.11 и Django 4.1.
В этой части расскажу, как удалось максимально дешево привести кодовую базу в актуальное состояние.


Читать: https://habr.com/ru/companies/first/articles/721732/
Django REST. Реализация функционала добавления в «избранное» с возможностью расширения типов добавляемого контента

Допустим у нас есть зарегистрированные пользователи и какая-то модель, например "Компании", которую пользователь может добавлять в избранное. Обычно такая задача решается путем создания третьей таблицы Favorite, являющейся связующим звеном, для реализации ManyToManyField связи между пользователем и компанией


Читать: https://habr.com/ru/articles/723300/
Django DRF Sign-in with Apple

Привет, уважаемый читатель!

Пришла пора внедрить систему аутентификации от Apple в проект на Django DRF, ведь система входа от Google была реализована давно и по идее проблем не должно было возникнуть, но как сказал один известный гном: "Я ещё никогда так не ошибался..." А теперь по порядку.


Читать: https://habr.com/ru/articles/723322/
[recovery mode] CI/CD GitHub Actions

CI/CD с использованием GitHub Actions (приложение Django)


Читать: https://habr.com/ru/articles/723982/
👍1👎1
Дайджест Python #6: как заказать столик в ресторане через ChatGPT и почему лень — не порок

Собрали дайджест из статей про Python с 16 по 31 марта. Узнайте, как инвестировать при помощи Big Data и как создать голосовой помощник.

Читать: «Дайджест Python #6: как заказать столик в ресторане через ChatGPT и почему лень — не порок»
Using AbstractBaseUser In Django

Introduction
If you are like me, you have probably worked your way through the Django documentation and probably haven’t understood this yet.
Well, I just cracked this huge case, and it was an ordeal.
AbstractBaseUser is a model class in Django, an...

Read: https://shecode3.hashnode.dev/using-abstractbaseuser-in-django