19:32, Вс 24 Дек 2023

FastAPI + SQLAlchemy 2.0

Собрал на основе статей по FastAPI проект-шаблон для быстрого запуска проекта с поддержкой SQLAlchemy 2.0. Здесь добавлено минимально необходимое: подготовленный набор зависимостей; миграции на alembic с удобной сортировкой файлов; готовый пример работы с БД в pytest; базовая модель в БД с полями времени создания и обновления записей в таблицах, команды для быстрой установки виртуального окружения, создания и проведения миграций, проверки стиля кода, запуска тестов, запуска приложения; настройка для запуска проекта в докере.

21:20, Пт 09 Окт 2020

Русская локализация Django

Как это обычно водится, понадобилось для одной задачи поднять админку на Джанго. Размышлял тогда на этот счёт, что пилят фреймворк давно уже, исправили многие баги, не столкнусь со стоперами. Ага, как бы не так...

15:48, Вт 29 Сен 2020

Еще одна ORM - orator

Начинающие программисты зачастую ведут свою разработку не закладывая на будущее, что созданный проект будет использоваться в продакшне, и оттого не ставят своей целью отладить все его части. Так появляется код, в котором не настроены миграции, да и собственно моделей сущностей в коде нет, вместо них чистые SQL-запросы. Когда оказывается, что проект все же требует дальнейшей поддержки и развития возникает задача провести рефакторинг, а именно прописать модели и настроить проведение миграций, чтобы было удобнее добавлять и изменять поля сущностей в базе данных. В одном из таких проектов, который попал ко мне я решил использовать orator-orm, потому что, почитав ее документацию, эта ORM очень заманчиво подходила как быстрое решение для вышеописанной проблемы.

11:21, Пн 14 Сен 2020

Фоновые задачи в Django

Если появилась потребность завести в своем приложении периодические задачи или фоновые задачи, но не хочется использовать для этого тяжелые сервисы, типа Celery, то на помощь может придти пакет попроще - django-background-tasks...

09:20, Вт 08 Сен 2020

Django-админка одного экземпляра

Иногда в Django-админке требуется создать и редактировать только один экземпляр модели. Соответственно, когда объект уже создан, то выводить форму добавления не нужно. Заодно следует запретить создание нового экземпляра, если пользователь все-же попадет на страницу с формой добавления...

07:51, Вт 01 Сен 2020

Разделитель в CSV

Возникла задача прочитать данные с CSV-файла, причем код уже есть, нужно только указать путь к файлу и запустить его. Однако, обнаружилось, что новый файл отличается от того формата, под который уже написана функция чтения.

21:34, Сб 29 Авг 2020

Действительно magic

На прод сервере обнаружилась проблема, возникала ошибка загрузки SVG файла. В ошибке явно выводился mime-type файла как text/plain, хотя сам файл загружался корректный.