Несколько дней новогоднего волшебства:
Успейте начать обучение в 2018-ом году со скидкой до 30%!
Выбрать курс

Набор дополнений к любому проекту на Django

WebDev_Deep_LAST_23.07_Site.png

Давайте рассмотрим самое полезное, что есть в составе модуля django-extensions – набора полезных дополнений к любому проекту на Django.

shell_plus, продвинутая версия manage.py shell

От обычной команды отличается тем, что автоматически импортирует все модели и необходимые функции для работы с ORM (например, Q и Avg). Рекомендуется использовать вместе с ipython, тогда будет автодополнение, подсветка и сохранение истории при перезапуске интерпретатора. Работает даже с кастомными пользовательскими моделями: если у вас переопределена модель User, shell_plus импортирует правильную.

runserver_plus, продвинутая версия manage.py runserver

Продвинутость заключается в том, что под капотом используется Werkzeug для рендеринга страницы ошибки в случае пятисотых статусов. Вместо привычной жёлтой страницы ошибки Django с трейсбеком и значением некоторых переменных, показывается версия Werkzeug, которая позволяет запускать любой код на Python в тех фреймах, в которых произошли ошибки. Прямо в браузере! Радикально ускоряет поиск ошибки.

Набор базовых моделей

Например, ActivatorModel со статусом и датой активации или TimeStampedModel с полями created и modified. Случаи очень частые, поэтому и модели очень полезные. Всё равно их аналоги есть в любом боевом проекте на Django.

Набор расширений для админки

Например, ForeignKeyAutocompleteAdmin, который позволяет превратить любое поле ForeignKey в админке не просто в выпадашку, а в поле с автодополнением и поиском по указанным полям.

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

Есть вопрос? Напишите в комментариях!

Автор
0 комментариев
Для комментирования необходимо авторизоваться