IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
консультируем про IT, Python

     26.11.2022       Выпуск 466 (21.11.2022 - 27.11.2022)       Статьи

Мой сетап Visual Studio Code для Django

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

Эти проблемы можно решить файлами конфигураций соответствующих инструментов, но я использую готовые плагины для mypy и pylint.

     17.11.2022       Выпуск 465 (14.11.2022 - 20.11.2022)       Статьи

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

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

     06.11.2022       Выпуск 463 (31.10.2022 - 06.11.2022)       Статьи

Как сделать локальный Django-сайт доступным в Интернете / Туннели ngrok

По умолчанию все Django-проекты доступны по адресу http://localhost:8000 или http://127.0.0.1:8000 что одно и тоже. Эта адреса твоего локального компьютера. Соответственно никто другой в Интернете, перейдя по одному из этих адресов, ваш сайт не увидит. Проект пока рано заливать на какой-то хостинг или выделенный сервер, но показать его другому человеку уже нужно: похвастаться другу, человеку и команды разработки, заказчику и т.д. Даже если этот человек подключится к WI-FI у вас дома и будет находиться с сайтом в одной сети, localhost будет перенаправлять гостя на своё же устройство, а не на ваш сайт. Что делать, как показать Django-проект, которые запускается на локальном сервере, недоступном в Интернете?

     21.10.2022       Выпуск 461 (17.10.2022 - 23.10.2022)       Статьи

Новый взгляд на асинхронность в Python: в лучших традициях gevent, но ещё лучше

Некоторые уже видели мои статьи про добавление асинхронности в django. Этот пост не об этом: вопрос более широкий и посвящён асинхронности в целом. И подход совсем другой.

Кстати, вопрос с асинхронным django тоже решился - как побочный эффект. Между прочим, собираюсь использовать это в продакшене при первой возможности.

 

     15.10.2022       Выпуск 460 (10.10.2022 - 16.10.2022)       Статьи

Используем Docker и Django

Подробное руководство по использованию Docker в разработке на языке программирования Python. Расскажу об основных концепциях в Docker и на примере создадим свой образ с веб-приложением на Django и запустим его.

     11.10.2022       Выпуск 460 (10.10.2022 - 16.10.2022)       Статьи

Архитектура универсального проекта Django

В ходе последних лет моей разработки проектов Django я понял, что почти все они имеют одно строение:API, Apps, Config, Library, Utils, Workers...В статье, помимо схемы архитектуры проекта Django, которую я использую в реальных промышленных проектах, подробно расскажу как этого достичь, чтобы все работало.

     19.09.2022       Выпуск 457 (19.09.2022 - 25.09.2022)       Статьи

Обзор markdown редакторов для Django

Подобрать удобный инструмент, для работы с markdown из Django админки, без лишних танцев с бубном.

     14.09.2022       Выпуск 456 (12.09.2022 - 18.09.2022)       Статьи

Фильтр по интервалу дат в админке Django

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

     29.08.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

Асинхронный django: status update

Название поста может быть знакомо некоторым читателям. Действительно, я некоторое время назад задался вопросом, насколько будет сложно сделать django асинхронным. Так вот, процесс кодинга в этом направлении продолжился, и теперь есть целая альфа-версия.

Проект называется vinyl. У него есть репозиторий. Пользоваться им можно и нужно! Про то, как это делать, можно узнать из README - я думаю, всё вполне соответствует ожиданиям от асинхронной версии. Здесь я хочу рассказать про то, что, как говорится, удалось узнать в процессе.

     03.08.2022       Выпуск 450 (01.08.2022 - 07.08.2022)       Статьи

Как стажёр оптимизировал запросы и нашел баг в Django

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

     18.07.2022       Выпуск 448 (18.07.2022 - 24.07.2022)       Статьи

Выгрузка отфильтрованных пользователем данных из таблицы в админке Django

Коллега обратился с запросом.

"Хочу забрать в свой уютный екзель данные с корпоративного сайта прямо в том виде, как я их там отфильтровал и отсортировал. Кнопку такую хочу рядом с табличкой сайта."

Сайт сделан на админке Django. Будем реализовывать это лапидарное ТЗ от коллеги.

     05.07.2022       Выпуск 446 (04.07.2022 - 10.07.2022)       Статьи
     23.06.2022       Выпуск 444 (20.06.2022 - 26.06.2022)       Статьи

Все фигня, давай по-новой или модерация объектов в Django Rest Framework

И правда зачем нужна модерация объектов и так все усложнять? Это были мои первые мысли, перед тем, как я начал разбираться с новой задачей, которая стояла перед моим уже окрепшим телом и духом (нет).

     06.06.2022       Выпуск 442 (06.06.2022 - 12.06.2022)       Статьи

Как работать с PyScript — фреймворком для фронтенда на Python

В веб-разработке Python используется в основном на бэкенде с такими фреймворками, как Django и Flask. А сегодня, к старту курса по Fullstack-разработке на Python, расскажем о PyScript, который даёт возможность запускать Python прямо в HTML.

     01.06.2022       Выпуск 441 (30.05.2022 - 05.06.2022)       Статьи

Django. Сохранение выбранного языка в настройках пользователя

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

     12.05.2022       Выпуск 438 (09.05.2022 - 15.05.2022)       Статьи

Django. Разрастание базы данных из-за таблицы django_session

В статье описывается проблема разрастания базы данных из-за устервших записей сессий и индекса таблицы сессий в Django. А также описывается, как данная проблема была решена.

     14.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Статьи

Асинхронный django — status update. Проект vinyl

Некоторое время назад я писал про альтернативные возможности, как можно добавить в django асинхронность (есть официальный подход, изложенный в DEP-09). С тех пор у меня получилось оформить свои идеи в нечто относительно цельное, что вылилось в vinyl project. Описание проекта читайте на гитхабе, здесь же я хочу рассказать о его интересных особенностях.

     02.03.2022       Выпуск 428 (28.02.2022 - 06.03.2022)       Статьи

Откровения про отсутствующий Nested Inline от разработчика с очень маленьким Django

— Стыдно признаться, но в нашей компании мы до сих пор используем Django… Так начинали со мной разговор представители навороченных стендов российских конференций Pycon Russia 2021 и Moscow Python Conf++ 2021, где я выступал с докладами про Django. Эдакий "coming out" без объяснений, почему это стыдно, и зачем в этом надо признаваться. Если уж «Все леди делают это» так давайте говорить об этом, как о чем-то нормальном! Я, например, рассказываю, как делать это в удовольствие и с естественными извращениями. Я про работу с Django, конечно, а вы, о чем подумали? Дальше речь пойдет как раз про извращения. Шок контент и ненормативная лексика.

     01.03.2022       Выпуск 428 (28.02.2022 - 06.03.2022)       Статьи

Как тестировать сайт на Django. Часть 3. Отправка результата на почту, TestExplorer и декоратор tag

Тесты написаны, тимлид рад, а что дальше-то делать? А дальше – автоматизация и отправка отчёта по тестам. Именно об этом мы поговорим в данной статье, попутно затронув полезный инструмент TestExplorer и декоратор tag.

     22.02.2022       Выпуск 427 (21.02.2022 - 27.02.2022)       Статьи

Как тестировать сайт на Django. Часть 2. JavaScript и русский текст на английских страницах

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