Налагодження Django відображає всі змінні сторінки


83

Чи існує тег шаблону (або будь-який інший фокус), який я можу використовувати для відображення всіх змінних, доступних на сторінці?

Відповіді:



85

Є кілька варіантів (деякі з них уже перераховані раніше):

  1. django вбудований тег налагодження - я використовую цей шаблон для правильного відображення:

    <pre> {% filter force_escape%} {% налагодження%} {% endfilter%} </pre>

  2. Використовуйте Джанго шаблонного налагоджувати теги додатки , як атрибути, змінні і деталі або ви навіть можете встановити точку зупину усередині шаблону , де ви можете перевірити всі з PDB відладчик (або IPDB)

  3. Джанго панелі інструментів налагодження - є шаблон панель для цієї мети

Зазвичай всі функції налагодження працюють лише тоді, коли програма перебуває в режимі НАБИЧКИ .


16

Про порада. Використовуйте textareaта автоматично вибирайте onclickдля спрощення копіювання-вставки:

<textarea onclick="this.focus();this.select()" style="width: 100%;"> {% filter force_escape %} {% debug %} {% endfilter %}</textarea>

10

Панель інструментів налагодження робить все це та багато, багато іншого. Докладнішу інформацію див. У скрінкасті . Якщо ви буквально просто хочете змінні, ви можете спробувати

assert False, locals()

на ваш погляд


Thnaks. Оскільки я використовую загальний погляд, чи є спосіб викликати "стверджувати
неправду

хлопці, я встановив і працюю налагоджувальну панель інструментів, але вона не відображає всі змінні, доступні мені в шаблоні ... мені чогось не вистачає .. куди йде це твердження false, local () і що саме це робить ?
Дерек Орган

Якщо ви написали власний вигляд, просто поставте його ближче до кінця свого подання. Якщо ви використовуєте загальний подання, вам потрібно буде обернути його у своєму власному поданні. Я думаю, це все одно спрацює.
Том

8

Трохи складнішим рішенням з кращими винагородами є завантаження django-debug-toolbar (документація тут )

Існує опція "Шаблони" з іншою опцією "Переключити контекст", і ви можете побачити всі змінні, передані у ваш шаблон, а також можливість побачити код за шаблоном.

Приклад налагодження шаблону панелі інструментів django-debug


Я отримую '<<triggers database query>>'як значення
Стівен

Я прочитав би документацію, і якщо це не вдасться, я перейшов би до проекту django-debug-toolbar і попросив
Aaron C. de Bruyn

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.