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

История Васи и Пети

В компании «Рога и Продакшн» решили запустить новый сервис.
Назначили двух разработчиков:

  • Вася — senior Django-разработчик.

  • Петя — middle, но с django-cfg.

Вася: путь традиции

  • Первые три дня он копировал старый settings.py.

  • Потом неделю правил INSTALLED_APPS.

  • Потом два дня воевал с ALLOWED_HOSTS.

  • Потом переписывал DATABASES под дев, тест и прод.

  • Потом поймал баг, потому что написал DEBUG="yes".

  • Потом завёл .env и сказал, что «всё по best practices».

К концу месяца Вася гордо показал: «проект готов к написанию бизнес-логики».

Петя: путь революции

  • Написал конфиг в 10 строк через django-cfg.

  • Запустил сервис на следующий день.

  • На третий день уже писал бизнес-логику.

  • Через неделю показал работающий релиз.

Счёт компании

Ставка разработчика — $4000/мес.

  • Вася потратил 1,5 месяца на конфиги → $6000.

  • Петя сделал то же за 1 день → $200.

Разница: $5800 в мусорное ведро только из-за того, что Вася верил в магию settings.py.

В чём суть django-cfg?

  • Типизированные конфиги на Pydantic (никаких «строка вместо bool»).

  • Готовые пресеты для DRF, Spectacular и прочего.

  • Зоны API: public, admin, internal — настраиваются декларативно.

  • Автогенерация Python + TypeScript клиентов с авторизацией и токенами.

  • Ноль копипаста: один файл → всё готово.

А теперь вопрос для работодателей

Когда вы видите строку в бюджете «1,5 месяца на подготовку окружения»,
вы думаете, что это реальная работа?

Нет. Это Вася-джанго-разработчик обосновывает своё существование.

А Петя уже сделал продукт.

Потому что django-cfg убирает то, на чём они десятилетиями строили иллюзию «сложной инженерной работы».
Ритуалы исчезают. Остаётся продукт.
А продукт видно директору.

Заключение

Каждая компания выбирает:

  • Либо оплачивать шаманство с settings.py.

  • Либо делать проекты быстро и прозрачно.

django-cfg на PyPI

Комментарии (14)


  1. whoisking
    14.09.2025 10:07

    Успей скачать, только сегодня!

    P.S. , чёто у вас гитхаб 404 и странные пакеты на pypi, напр. "pydantic2"


    1. markolofsen Автор
      14.09.2025 10:07

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


  1. andreymal
    14.09.2025 10:07

    Первые три дня он копировал старый settings.py.

    Все базовые параметры лежат готовые в репозитории/шаблоне, а для локального окружения он скопировал local_settings.example.py в local_settings.py

    Потом неделю правил INSTALLED_APPS.

    Он лежит готовый в репозитории/шаблоне

    Потом два дня воевал с ALLOWED_HOSTS.

    В вышеупомянутом local_settings.example.py уже прописано всё готовое для локалхоста

    Потом переписывал DATABASES под дев, тест и прод.

    Тест лежит готовый в репозитории/шаблоне, прод лежит готовый у админов (и простой разработчик не должен иметь доступ к проду), дев лежит готовый в local_settings.example.py, разве что пароль свой вписать если он есть

    Потом поймал баг, потому что написал DEBUG="yes".

    Не поймал, потому что django-stubs сразу подсветил ошибку

    Потом завёл .env и сказал, что «всё по best practices».

    Не завёл, потому что с local_settings.py тоже живётся хорошо

    Подробнее: Как сделать несколько конфигураций (settings.py) для проекта Django?

    Итого:

    • если мы дорабатываем существующий проект: минута на git clone, минута на создание local_settings.py, ну может ещё пара минут на apt install mysql — $1.25 на всё про всё

    • если мы делаем новый проект: просто скопировать всё вышеупомянутое из любого существующего проекта или сгенерировать из заранее подготовленного шаблона — пусть условно ещё $1.25

    Продать django-cfg для меня у вас не получилось


    1. markolofsen Автор
      14.09.2025 10:07

      ну так не было такой задачи)


      1. kez
        14.09.2025 10:07

        Любопытно узнать, в чём же была задача статьи


        1. ktori
          14.09.2025 10:07

          Реклама.


          1. markolofsen Автор
            14.09.2025 10:07

            Где?


        1. markolofsen Автор
          14.09.2025 10:07

          Создать дискуссию


    1. markolofsen Автор
      14.09.2025 10:07

      Да, да, конечно, копипастить из local_settings.py — это инновация уровня Илона Маска)))))


  1. ktori
    14.09.2025 10:07

    Абсурдная рекламная статья про ии-сгенерированную библиотеку с миллионом зависимостей и непонятным набором функций, с ии-сгенерированной КДПВ. Как связан текст статьи про settings.py с библиотекой которая интегрируется с телеграмом, ллмками, получением курса валют из ЦБ РФ и ЕЦБ и всеми остальными идеями возникшими в агонии безымянной видеокарты из кластера где-то в душном датацентре?


    1. markolofsen Автор
      14.09.2025 10:07

      Вопрос то в чем?


    1. markolofsen Автор
      14.09.2025 10:07

      То есть твой settings.py с копипастой из десятка туториалов - это зрелость, а библиотека с готовыми интеграциями это "миллион зависимостей" ?

      Красиво оправдывать болото умеешь!)


  1. soymiguel
    14.09.2025 10:07

    А если написать, что Вася потратил полтора гугильона пупильонов денег и 3 тыщи лет на INSTALLED_APPS, то станет еще драматичнее.

    Правда, убедительно это звучало бы от лица Саши Пряникова, евпочя.


    1. markolofsen Автор
      14.09.2025 10:07

      Оставлю без комментария