Раз в месяц мы в Moscow Python Podcast собираемся и обсуждаем новые релизы, PEP, заинтересовавшие нас инструменты и статьи. Под катом — текстовая выжимка из обсуждения.
Django *
Фреймворк для веб-приложений на Python
Новости
Разработка Web API на Django с помощью Django REST framework: от создания моделей до тестирования
Django REST framework (DRF) — это мощный и гибкий инструмент для создания Web API на основе Django. Он предоставляет удобные средства для создания RESTful API, поддерживает аутентификацию, авторизацию, сериализацию, валидацию и другие функции.
В этой статье мы рассмотрим, как использовать Django REST framework для создания Web API на базе Django.
Python, Django и немного защиты кода
Привет, Habr! Компания, в которой я работаю, занимается системами умного дома и видеонаблюдения. Услуга работает по форме SaaS. Но недавно было решено продавать и локальное решение. За основу «коробки» было решено взять облако, немного его переделать и вот готов новый продукт…
С переездом с облачных «рельс» возник ряд вопросов. Один из них в том, что весь проект написан на Python‑ язык интерпретируемый на лету и не защищенный от копирования от слова совсем. Второй момент, что в проекте используется Django. Фреймворк со своими зависимостями, которые еще аукнулись нам в процессе поиска решений. То с чем мы столкнулись и к чему пришли далее в статье.
Как разработать канбан-доску на Django, DRF и Alpine.js
Для структурирования и мониторинга рабочих процессов используют канбан-доски — например, Jira и Trello. Они особенно полезны, когда задачи состоят из множества этапов — согласования, выполнения, ревью и продакшена.
В статье рассказываем, как разработать собственную канбан-доску и развернуть ее на облачном сервере. Подробности под катом.
Истории
Основы PyCharm
Сегодня я расскажу новичкам про полезные и удобные функции PyCharm. Эта статья предназначена для тех, кто только знакомится с PyCharm и написал свои первые программы. Затронем основной функционал пайчарма, который поможет упростить и ускорить вашу работу и узнаем, как запускать сервер и тесты Django в один клик. А ещё, я поделюсь подборкой полезных плагинов и горячих клавиш.
Пишем сервис для сокращения ссылок на Django, DRF
В этой статье мы напишем сервис для сокращения ссылок на Django, DRF.
Итак, на днях я получил тестовое задание от потенциального работодателя и решил убить двух зайцев сразу: выполнить тестовое задание и написать статью, в которой подробно описать весь процесс.
Итак, что мы имеем.
Как изучать язык Python для веб-разработки в 2023 году. Общие ориентиры
Привет, Хабр! Меня зовут Тимофей, я Python Engineer с опытом в 3+ года.
Я бы не назвал данную статью полноценным роадмэпом в том понимании, в котором это слово обычно используют. В статье нет сроков изучения, отсутствует подробный план, затрагивающей все темы и подтемы. Да и зачем нужен еще один роадмэп «под копирку», когда в сети и так хватает качественных предложений.
Скорее, я хотел бы составить абстрактный план обучения, который сможет задать общий ориентир, а также будет коррелировать с роадмэпом вроде roadmap.sh. Кроме этого, я смогу дать несколько полезных советов из своего опыта, а также составлю списки полезных ресурсов для изучения языка, сопутствующих инструментов и технологий, которые в свое время помогли или же помогают мне самому.
Пакет для импорта данных в Django
Привет всем, хочу рассказать, что у меня получилось, когда я понял, что нам нужен пакет импорта произвольных данных из админки.
Что нам несет Python 3.12
Переписали виртуальную машину на новый DSL
И теперь ее гораздо проще менять, оптимизировать и проводить эксперименты.
В качестве примера, можно посмотреть на попытку добавления register-based интерпретатора. Другой пример, что часто два опкода идут вместе и выполняются последовательно большую часть времени. Например, LOAD_CONST
и RETURN_VALUE
. Для оптимизации, можно добавить новый опкод этой операции. Вместо двух действий он будет выполнять одно. На частых задачах получится неплохая прибавка к производительности.
Еще один пример: опкод CALL_FUNCTION.
Сам по себе довольно медленный. У него есть целая семья оптимизаций, например специализация CALL_FUNCTION_ISINSTANCE
, когда мы выкидываем промежуточный слой и сразу вызываем C-реализацию isinstance
. Минус в том, что Python богатый и динамически типизированный язык. В runtime может что-то поменяться и мы получим замедление — придется сваливаться обратно на общий путь опкода CALL_FUNCTION
.
Создаем диаграмму миграций Django проекта
Наверное странная идея — нарисовать диаграмму миграций проекта Django. Вроде как — а зачем? Но если у Вас некий достаточно большой и достаточно старый проект, да еще над которым постоянно работает хотя бы небольшая команда — разобраться в зависимостях миграций становится уже сложновато.
Ну и так — полезно понять, как можно автоматически выбрать из проекта структуру миграций и построить из них диаграмму. Причем — автоматически. Что бы можно было это делать в любой нужный момент.
Использовать хранилище Django для хранения результатов Celery в Google Cloud
Тот, кто подключает Celery к Django, использует как правило, пакет django-celery-results для использования таблицы специальной модели Django в качестве хранилища результатов выполнения задач Celery.
Вероятно, через какое-то время, у вас возникнет желание заменить такую таблицу на что-то другое, например облачное хранилище. Приглашаю под кат всех заинтересованных.
Главное из мира Python за январь 2023
Раз в месяц мы в Moscow Python Podcast собираемся и обсуждаем новые релизы, PEP, заинтересовавшие нас инструменты и статьи. Под катом — текстовая выжимка из обсуждения.
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.
React+Django как написать Hello World
Создание веб приложения на основе React и Django, с базой данных на postgress, небольшое прощупывание RabbitMQ и чуть-чуть nginx, потом объясню зачем. Ах да! Завернём все в контейнеры и заставим подниматься в три команды!
Асинхронный django: разоблачение Великого и Ужасного
Доброе утро, дорогие читатели! Это новый выпуск про асинхронность и django. Собственно, это follow-up: это должна была быть тема моей предыдущей статьи, но в прошлый раз у автора "не хватило проницательности" - как однажды выразился филин Гуамоко из "Волшебника Изумрудного города".
В общем, есть среди так называемых core разработчиков django один джентльмен по фамилии Гудвин. django channels, а также большинство фич, связанных с асинхронностью - это его творчество. В предыдущей статье я хотел похвалить использованный им подход, но потом разочаровался в нём: подход так себе.
А недавно - на последней конференции - что выдал этот кадр: он заявил, что, в общем-то, не очень привязан к django как к веб-фреймворку - что в этом плане, ему больше нравится FastAPI! Кроме того, в своём собственном проекте он использует клон FastAPI, django-ninja! Напомню, что по сюжету повести, великий и ужасный обманщик в конце покидает Изумрудный город на воздушном шаре.
После этих выяснившихся фактов, я думаю, читателю будет проще воспринять мою критику оного персонажа, коей в статье хватает. FastAPI, конечно - объективно, хороший фреймворк (написал пару слов о нём тоже!)
Пишем ETL-процесс на Python, часть 2
Сегодня мы сделаем web-интерфейс для управления запуском ETL-процесса. В прошлой статье мы написали консольный скрипт, который разово разово запускает выгрузку. Но как это передать заказчику ?!
Как подключить препроцессор SASS/SCSS к Django
"Тачка на прокачку" уже давно не выходит. А вот "Django на прокачку" снова продолжает вас радовать. В сегодняшнем эпизоде мы:
1. Узнаем, что такое препроцессоры и чем они интереснее обычного CSS;
2. Разберёмся с SASS и SCSS, узнаем, чем они отличаются;
3. И рассмотрим на практике, как использовать SASS/SCSS в Django-проекте.
Как обычно, меньше болтовни – больше кода. Центрирует картинку Макс. Выходит за рамки Егор. Статью написали авторы канала PyLounge. Поехали!
Асинхронный django: в защиту DEP-9
DEP-9 - это официальный "RFC" по асинхронности в django. Доброе утро, дорогие читатели. Возможно, вы видели мои статьи про django, асинхронность и мой проект "fibers". Что касается последнего - автор только одуплился после новогодних праздников, так что новостей в этом плане нет. Вместо этого, я сегодня расскажу об официальном подходе - DEP-9 - насколько он хорош и как вписывается в общую картину.
UPDATE. Статья немножко того... не окончена. Но если вас гложет любопытство, ничто не может удержать вас от прочтения.
В кадре вы видите django разработчиков, которые собрались на конференции во время COVID-пандемии.
Асинхронный django. Resurrections
Поздравляю с годом Кролика и желаю сбычи ваших мечт!
Хочу вас обрадовать, что, судя по всему, в новом году будет продолжение франшизы про асинхронный django. Версия на гринлетах скоро получит новую, более изящную форму. И новое название - fibers (старое, greenhack, никуда не годилось).
Сюда просится пример с кодом, но здесь его вставлять нельзя. На платье Сати можно было написать, если бы она была в платье. Если кто не в курсе - это Сати, девушка и причёска - из Матрицы.
Лучшие open-source инструменты для Python проектов
Open-source проекты, сторонние инструменты и библиотеки - это то, за что мы действительно любим Python. В этой статье я собрал самые полезные, валидированные сообществом и проверенные временем инструменты, конфигурации которых можно встретить в популярных проектах с открытым исходным кодом.
Инструменты распределены по этапам/сферам разработки. По каждому из них я дам небольшое описание и попытаюсь рассказать о его пользе. Если утилита имеет дополнительные расширения/плагины, то я расскажу про самые полезные (на мой взгляд).
Вклад авторов
-
Azy 295.0 -
kmike 276.0 -
shulyndina 255.0 -
fata1ex 247.6 -
grigoryvp 241.0 -
Dreadatour 220.0 -
junk 194.0 -
printf 186.0 -
kesn 180.0 -
marazm 170.0