Как стать автором
Поиск
Написать публикацию
Обновить
5.73

Django *

Фреймворк для веб-приложений на Python

Сначала показывать
Порог рейтинга
Уровень сложности

Пишем сервис для сокращения ссылок на Django, DRF

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров14K

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

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

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

Читать далее

Как изучать язык Python для веб-разработки в 2023 году. Общие ориентиры

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров38K

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

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

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

Читать дальше →

Пакет для импорта данных в Django

Время на прочтение3 мин
Количество просмотров4.8K

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

Читать далее

Что нам несет Python 3.12

Время на прочтение3 мин
Количество просмотров34K

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

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

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

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

Читать далее

Создаем диаграмму миграций Django проекта

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров3.3K

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

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

Итак приступим

Использовать хранилище Django для хранения результатов Celery в Google Cloud

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров2.3K

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

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

Читать далее

Главное из мира Python за январь 2023

Время на прочтение3 мин
Количество просмотров5.6K

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

Читать далее

Python Дайджест: как обновиться с Python 3.4 до Python 3.11, если pip уже сломан

Время на прочтение6 мин
Количество просмотров14K



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

Время на прочтение26 мин
Количество просмотров54K

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

Читать далее

Пишем ETL-процесс на Python, часть 2

Время на прочтение5 мин
Количество просмотров8.3K

Сегодня мы сделаем web-интерфейс для управления запуском ETL-процесса. В прошлой статье мы написали консольный скрипт, который разово разово запускает выгрузку. Но как это передать заказчику ?!

Читать

Как подключить препроцессор SASS/SCSS к Django

Время на прочтение6 мин
Количество просмотров6.6K

"Тачка на прокачку" уже давно не выходит. А вот "Django на прокачку" снова продолжает вас радовать. В сегодняшнем эпизоде мы:

1.       Узнаем, что такое препроцессоры и чем они интереснее обычного CSS;

2.       Разберёмся с SASS и SCSS, узнаем, чем они отличаются;

3.       И рассмотрим на практике, как использовать SASS/SCSS в Django-проекте.

Как обычно, меньше болтовни – больше кода. Центрирует картинку Макс. Выходит за рамки Егор. Статью написали авторы канала PyLounge. Поехали!

Подключить SASS/SCSS к Django

Асинхронный django. Resurrections

Время на прочтение3 мин
Количество просмотров7.3K

Поздравляю с годом Кролика и желаю сбычи ваших мечт!

Хочу вас обрадовать, что, судя по всему, в новом году будет продолжение франшизы про асинхронный django. Версия на гринлетах скоро получит новую, более изящную форму. И новое название - fibers (старое, greenhack, никуда не годилось).

Сюда просится пример с кодом, но здесь его вставлять нельзя. На платье Сати можно было написать, если бы она была в платье. Если кто не в курсе - это Сати, девушка и причёска - из Матрицы.

Читать

Лучшие open-source инструменты для Python проектов

Время на прочтение12 мин
Количество просмотров42K

Open-source проекты, сторонние инструменты и библиотеки - это то, за что мы действительно любим Python. В этой статье я собрал самые полезные, валидированные сообществом и проверенные временем инструменты, конфигурации которых можно встретить в популярных проектах с открытым исходным кодом.

Инструменты распределены по этапам/сферам разработки. По каждому из них я дам небольшое описание и попытаюсь рассказать о его пользе. Если утилита имеет дополнительные расширения/плагины, то я расскажу про самые полезные (на мой взгляд).

Читать далее

Ближайшие события

Субъективные итоги года в мире Python

Время на прочтение5 мин
Количество просмотров14K

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

Это — текстовая выжимка из выпуска. 

Читать далее

Fullstack на Джанго и Вью

Время на прочтение9 мин
Количество просмотров12K

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

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

Начнем с бэкенда.

Начнем!

Асинхронность в питоне — это хайп, не стоит отказываться от блокирующего кода

Время на прочтение5 мин
Количество просмотров11K

Здравствуйте, читатели хабра! Читайте в этой статье - развенчание мифов об асинхронном программировании в Python! Действительно ли асинхронная модель - более производительная? И как обстоят дела с драйверами баз данных?

На картинке - скриншот бенчмарков от авторов драйвера asyncpg. Как Вы можете догадаться, автор этой статьи с ними не согласен.

Некоторые читатели знают из моих предыдущих статей о моих (вполне успешных!) попытках сделать асинхронную версию django. Я решил прекратить работу над ней - столько труда напрасно! Читайте - и не делайте так.

Стандарту WSGI 19 лет (c хвостиком). Выясняем, есть ли ещё куда развиваться приложениям с блокирующим вводом-выводом в 2022.

Читать

Как мы создавали сервис для улучшения города в Ташкенте (Узбекистан)

Время на прочтение10 мин
Количество просмотров3K

Этот материал посвящен сервису Xalq Nazorati (Народный Контроль) — с ним люди могут пожаловаться на нерабочий лифт, яму на дороге, сломанный светофор или стертую дорожную разметку. В статье расскажем, с чего мы начинали проект, какие ошибки допускали, как их исправляли и где в итоге оказались.

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

Чтобы лучше обозначать раскрытие темы, используем индикатор из хорошо знакомой многим игры. Так интереснее.

Резюме

Сегодня в сервис Народный Контроль уже поступило более 28 тыс. обращений от горожан — чаще всего люди жалуются на проблемы на дорогах, ЖКХ и экологические проблемы.

88% всех обращений были в итоге решены.

Читать далее

Олдскульные HTML-шаблоны снова в моде! htmx и другие средства борьбы с javascript fatigue

Время на прочтение4 мин
Количество просмотров13K

Отрисовка страничек на сервере, похоже, снова начинает приобретать популярность (нет, я не имею в виду React SSR).

Сторонники оппозиции растущему влиянию javascript, наконец, смогли направить усилия в нужное русло - и в результате родился фреймворк htmx! Поговорим о том, как он работает, а также, какие ещё фреймворки используют серверные шаблоны в 2022.

Также поговорим о divkit - аналоге html для мобилок, недавно выпущенный Яндексом в опен-сорс - Вы, наверно, догадались, какое отношение может иметь одно к другому.

Читать

Настройка Visual Studio Code для Django

Время на прочтение3 мин
Количество просмотров35K

Настройка Visual Studio Code для работы над проектами Django немного отличается от типичного сетапа для pure Python проектов. Например, в Django мало пользы от mypy, так как он не поддерживает типы Django. Точно также дела обстоят с линтерами, которые, без предварительной настройки, работают с кодом Django неправильно.

Читать далее

Как я пытался подружить Django и Websockets

Время на прочтение2 мин
Количество просмотров19K

Всем привет! В этой статье я расскажу как поднять простейшие вебсокеты на Django.

Когда браузер клиенту нужно постоянное обновление данных с сервера, на ум сразу приходят сокеты. Но после множества просмотренных мной гайдов по данной теме, я не нашел ничего одновременно и актуального, и с нормальными объяснениями ну или хотя бы работающего. В итоге просидев пару-тройку часов у меня получилось собрать пазл из миллиона статей с Хабра и пары видеороликов от моих коллег из Индии.

Читать далее

Вклад авторов