В этой статье мы поговорим о том, как можем выполнять отладку Django. Давайте рассмотрим важную технику, которая требуется в веб-разработке, а затем перейдем к добавлению библиотеки Debug Toolbar.
Что такое отладка
Независимо от профессионализма, каждый разработчик имеет дело с ошибками — это является частью работы. Отладка ошибок — непростая задача; изначально много времени занимает процесс обнаружения ошибки и ее устранения. Следовательно, каждый разработчик должен знать как устранять ошибки.
В Django, процесс отладки можно сильно упростить. Вам только необходимо установить и подключить Django Debug Toolbar в приложение.
Теперь, когда мы знаем, почему отладка так важна, давайте настроим ее в проекте.
Подготовка приложения для демонстрации
Код примера есть в репозитории на GitLab.
Чтобы использовать панель инструментов отладки, нам нужен сайт. Если у вас есть свой проект, вы можете использовать его. В противном случае создайте новый и добавьте следующее представление и соответствующий путь.
Команды для создания нового приложения:
$ pip install django
$ django-admin startproject debug-tool
$ cd debug_tool
$ python manage.py startapp app
# app/views.py
from django.http import HttpResponse
def sample_view(request):
html = '<body><h1>Django sample_view</h1><br><p>Отладка sample_view</p></body>'
return HttpResponse(html)
Убедитесь в присутствии тега <body>
. В противном случае инструмент отладчика не будет отображаться на страницах, шаблоны которых не имеют этого тега.
URL путь для кода будет:
# debug_tool/urls.py
from app import views as app_views
urlpatterns = [
path('admin/', admin.site.urls),
path('sample/', app_views.sample_view),
]
Теперь вы сможете повторять за мной.
Django Debug Toolbar
Рассмотрим инструменты, которые представлены в панели:
- Version: Предоставляет версию Django, которую мы используем.
- Time: Сообщает время, затраченное на загрузку веб-страницы.
- Setting: Показывает настройки страницы.
- Request: Показывает все запросы — views, файлы, куки и т.д.
- SQL: Список запросов к базе данных.
- Static Files: Предоставляет информацию о статических файлах.
- Templates: Предоставляет информацию о шаблонах.
- Cache: Сообщает информацию о существующем кэш.
- Loggin: Показывает количество зарегистрированных логов.
Установка Debug Toolbar в Django
Теперь установим библиотеку и настроим все необходимое для нее. Следуйте пошаговой инструкции:
1) Установка библиотеки
Для установки django-debug-toolbar
, используем команду pip install
. Запустите следующий код в терминале/оболочке ОС:
pip install django-debug-toolbar
2) Добавление в INSTALLED_APPS
В settings.py добавьте следующую строку в раздел INSTALLED_APPS
.
Проверьте, что бы debug_toolbar
был добавлен после django.contrib.staticfiles
.
# debug_tool/settings.py
INSTALLED_APPS = [
...
'debug_toolbar',
]
Также убедитесь, что в файле settings.py присутствует следующая строка STATIC_URL = '/static/'
. Обычно она находится в конце модуля и не требует добавления.
Если ее нет, просто добавьте в конец файла.
3) Импорт в urls.py
Чтобы использовать Debug Toolbar, мы должны импортировать его пути. Следовательно, в urls.py добавьте код:
# debug_tool/urls.py
...
from django.conf import settings
from django.urls import path, include
# urlpatterns = [....
if settings.DEBUG:
import debug_toolbar
urlpatterns = [
path('__debug__/', include(debug_toolbar.urls)),
] + urlpatterns
Убедитесь, что DEBUG
имеет значение TRUE
в settings.py, чтобы все работало.
Вoт так выглядит мой файл urls.py:
4) Подключение MiddleWare
Добавьте middleware панели инструментов debug_toolbar.middleware.DebugToolbarMiddleware
, в список MIDDLEWARE
в settings.py.
# debug_tool/settings.py
...
MIDDLEWARE = [
...
'debug_toolbar.middleware.DebugToolbarMiddleware',
]
...
5) Упоминание INTERNAL_IPS
Django Debug Toolbar отображается только в том случае, если в списке INTERNAL_IPS
есть IP приложения. Для разработки на локальном компьютере добавьте в список IP 127.0.0.1.
# debug_tool/settings.py
...
INTERNAL_IPS = [
'127.0.0.1',
]
Если списка INTERNAL_IPS
еще нет, добавьте его в конец settings.py.
На этом мы закончили подключение панель отладки, теперь проверим как она работает.
Отображение Django Debug Toolbar
После добавления всего кода перейдите по на страницу 127.0.0.1:8000/sample/ в браузере.
Если вы видите боковую панель, как на изображении, все получилось! Если нет, проверьте, отсутствует ли в ваших файлах какой-либо из приведенных выше фрагментов кода.
Вот и все, панель инструментов будет появляться в правой части страницы при каждой загрузке.
Официальная документация на английском здесь.