Подбираем полезные модули Django
Итак, вы начинаете делать сайт на Django! Какие модули можно смело подключать с самого начала разработки?
django-debug-toolbar
Если приложение не API, то DDT можно подключать сразу: помогает отлаживать новые страницы с меньшими временными затратами. А одна из самых классных штук – отладка запросов к БД: плагин показывает, какой код какие запросы генерирует, с переменными, временем выполнением и подробностями запроса. Помогает быстро отследить, например, проблему n+1 запроса и после исправления убедиться, что её больше нет.
django-extensions + ipython
В django-extensions много полезного, но удобнее всего shell_plus и runserver_plus. Первый – django shell с дополнительными возможностями, который при старте автоматически импортирует все модели. А ipython обеспечивает автодополнение, сохранение истории при перезапуска команды и более удобный способ ввода многострочного кода. Если простым shell можно воспользоваться раз в месяц, то shell_plus с ipython делает этот процесс сильно более удобным и экономит много времени при частом использовании.
runserver_plus запускает django runserver c Werkzeug, показывая его версию страницы в случае 500 ошибки. Удобство в том, что прямо со страницы есть доступ до python-сессии со всеми переменными на момент ошибки: вместо кучи дополнительного логирования чтобы понять, в чём ошибка, достаточно прямо в браузере выполнить нужный код, увидеть, что идёт не так, и поправить.
django-configurations
Эта библиотека позволяет сделать настройки проекта, основанными на классах, что сильно упрощает конфигурацию проекта для нескольких окружений: тут очень пригождается наследование. Как только у вашего проекта появляется dev-инстанс, у него появляется две конфигурации: для инстанса и для локальной разработки. Для решения этой проблемы есть много способов, но django-configurations – самый удобный почти в любом случае.
Есть вопрос? Напишите в комментариях!