Використання панелі інструментів Django Debug
Потім увімкніть його в встановлені додатки проекту, але будьте обережні - завжди корисно використовувати інший файл settings.py для таких додатків тільки для розробки і проміжних програм в якості панелі інструментів налагодження:
Панель інструментів Debug також використовує статичні файли, тому відповідну програму має бути також включено:
У деяких випадках також необхідно встановити INTERNAL_IPS в settings.py.
У urls.py. як припускає офіційна документація, наступний фрагмент повинен включати маршрутизацію панелі налагодження:
Зберіть статичну панель після установки:
Ось так, панель інструментів налагодження з'явиться на ваших сторінках проекту, надавши різноманітну корисну інформацію про час виконання, SQL, статичних файлах, сигналах і т. Д.
Крім того, для django-debug-toolbar потрібно, щоб теги Content-type text / html. і
відображалися правильно.Якщо ви впевнені, що налаштували все правильно, але панель інструментів налагодження все ще не відображається: використовуйте це «ядерне» рішення, щоб спробувати зрозуміти це.
Використання Python Debugger (Pdb)
Основним інструментом налагодження Django є pdb. частина стандартної бібліотеки Python.
Скрипт сценарію Init
Давайте розглянемо простий скрипт views.py.
Команда консолі для запуску сервера:
Очевидно, що Django кидає ZeroDivisionError при спробі завантажити контрольним аркушем, але якщо ми прикинемося, що помилка дуже глибока в коді, це може стати дійсно неприємним.
Установка точки зупину
На щастя, ми можемо встановити точку зупину для відстеження цієї помилки:
Команда консолі для запуску сервера з pdb:
Тепер в точці зупинки на сторінці буде викликатися запит (Pdb) в оболонці, який також зашкодить ваш браузер в очікує, стані.
Налагодження з оболонкою pdb
Прийшов час налагоджувати це уявлення, взаємодіючи з скриптом через оболонку:
В останньому рядку ми бачимо, що наше уявлення повернуло відповідь OK і виконало його як слід.
Щоб зупинити цикл pdb, просто введіть q в оболонку.
Розгляньте можливість написання додаткової документації, тестів, протоколювання і тверджень замість використання відладчика
Налагодження вимагає часу і зусиль.
- Записуйте і запускайте тести. У Python і Django є відмінні вбудовані тестові середовища, які можуть бути використані для тестування вашого коду набагато швидше, ніж вручну за допомогою відладчика.
- Написання належної документації для ваших функцій, класів і модулів. PEP 257 і Керівництво по стилю Python від Google надають хороші методи написання хороших докстерій.
- Використовуйте Logging для виведення результатів з вашої програми - під час розробки і після розгортання.
- Додайте assert іони в свій код в важливих місцях: зменшіть двозначність, зрозумійте проблеми по мірі їх створення.
Бонус: Напишіть доктрини для об'єднання документації і тестування!
Використання "assert False"
При розробці, вставляючи наступний рядок в свій код:
Призведе до того, що django підніме AssertionError зі значенням, наданим як повідомлення про помилку, коли цей рядок буде виконана.
Якщо це відбувається в поданні або в будь-якому коді, викликаному з уявлення, і встановлений DEBUG = True. в браузері буде відображатися повна і детальна таблиця стека з великою інформацією про налагодження.
Не забудьте видалити лінію, коли ви закінчите!