Django depanare, tutorial, cod q - un rus (ru)

Utilizând bara de instrumente Django Debug

Apoi includeți-l în aplicațiile instalate ale proiectului, dar aveți grijă - este întotdeauna util să utilizați un alt set de fișiere settings.py pentru astfel de aplicații numai pentru dezvoltare și programe intermediare ca o bara de instrumente de depanare:







Bara de instrumente Debug utilizează de asemenea fișiere statice, astfel încât trebuie să fie inclusă și aplicația corespunzătoare:

În unele cazuri, este de asemenea necesar să setați INTERNAL_IPS în settings.py.

În urls.py. după cum presupune documentația oficială, următorul fragment ar trebui să includă rutarea panoului de depanare:

Asamblați panoul static după instalare:

Deci, bara de instrumente de depanare va apărea pe paginile proiectului, oferind o varietate de informații utile despre timpul de execuție, SQL, fișiere statice, semnale etc.

În plus, bara de instrumente django-debug cere ca etichetele text / html de tip Content. și afișate corect.

Dacă sunteți sigur că ați configurat totul corect, dar bara de instrumente de depanare nu este încă afișată: utilizați această soluție "kernel" pentru a încerca să o înțelegeți.

Utilizarea Python Debugger (Pdb)

Principalul instrument pentru depanarea Django este pdb. parte din biblioteca standard Python.

Script script Init

Să aruncăm o privire la scriptul simplu views.py.

Comanda consolei pentru a porni serverul:

Evident, Django aruncă ZeroDivisionError atunci când încearcă să încarce o pagină index, dar dacă ne prefacem că eroarea este foarte profundă în cod, ea poate deveni cu adevărat neplăcută.







Setarea unui punct de întrerupere

Din fericire, putem stabili un breakpoint pentru a urmări această eroare:

Comanda consola pentru a porni serverul cu pdb:

Acum, la punctul de pauză de pe pagină, vi se va solicita (Pdb) în coajă, care va deteriora browser-ul dvs. în starea de așteptare.

Depanarea cu shell-ul pdb

Este timpul să depanem această vizualizare interacționând cu script-ul prin shell:

În ultimul rând, vedem că viziunea noastră a revenit OK și a executat-o ​​corect.

Pentru a opri bucla pdb, tastați q în shell.

Luați în considerare scrierea documentației suplimentare, a testelor, a înregistrărilor și a aprobărilor în locul utilizării programului de depanare

Debugarea necesită timp și efort.

  • Înregistrați și executați teste. Python și Django au medii de testare excelente încorporate, care pot fi utilizate pentru a testa codul dvs. mult mai repede decât manualul folosind depanatorul.
  • Scrierea documentației corespunzătoare pentru funcțiile, clasele și modulele dvs. PEP 257 și Ghidul de stil Python de la Google oferă metode bune pentru scrierea docerelor bune.
  • Utilizați înregistrarea pentru a obține rezultate din programul dvs. - la momentul proiectării și după desfășurare.
  • Adăugați afirmații la codul dvs. în locuri importante: reduceți ambiguitatea, înțelegeți problemele pe măsură ce acestea sunt create.

Bonus: Scrieți o doctrină pentru combinarea documentației și a testelor!

Folosind "afirmați False"

În curs de dezvoltare, introduceți în codul dvs. următoarea linie:

Aceasta va determina django să ridice AssertionError cu valoarea furnizată ca mesaj de eroare când această linie este executată.

Dacă aceasta se întâmplă în vizualizare sau în orice alt cod numit din vizualizare și setat la DEBUG = True. Browserul va afișa un tabel de stive plin și detaliat cu o mulțime de informații de depanare.

Nu uitați să eliminați linia când ați terminat!







Trimiteți-le prietenilor: