Django hibakeresés, bemutató, kód q - egy orosz (ru)

Használata Django Debug eszköztár

Majd kapcsolja be a pályázatot, de légy óvatos - mindig hasznos, hogy más settings.py fájlt az ilyen alkalmazások csak fejleszteni és köztes programok hibakereső eszköz lista:

Debug eszköztár is használ statikus fájlok, így a megfelelő alkalmazást is tartalmaznia kell:

Bizonyos esetekben, akkor is kell telepíteni INTERNAL_IPS a settings.py.

A urls.py. ahogy azt a hivatalos dokumentáció az alábbi kódot kell tartalmaznia hibakeresési panelt útvonal:

Gyűjtsük össze a statikus panel telepítés után:

Ennyi, hibakereső eszköztár jelenik meg a projekt oldalán, amely a különböző hasznos információt a végrehajtási időt, SQL, statikus fájlok, riasztások, és így tovább. D.

Ezen túlmenően, a Django-debug-eszköztár megköveteli, hogy a címkék Content-type: text / html. és megfelelően jelenik meg.

Ha biztos vagy benne, hogy beállította mindent rendesen, de a debug eszköztár továbbra sem jelenik meg: Ezzel a „nukleáris” megoldás, hogy megpróbálja megérteni.

Használata Python hibakereső (PDB)

Ennek legfőbb eszköze egy hibakereső Django EKT-ban. része a Python standard könyvtár.

Init szkriptet

Nézzük meg egy egyszerű script views.py.

konzol parancsot a szerver:

Nyilvánvaló, hogy a Django ZeroDivisionError dob, amikor megpróbálja letölteni az index oldalon, de ha úgy teszünk, mintha a hiba nagyon mélyen a kódot, akkor igazán kellemetlen lehet.

Beállítása töréspont

Szerencsére tudjuk meg egy töréspont figyelemmel kíséri ezt a hibát:

konzol parancsot a szerver EKT-ban:

Most egy töréspont az oldalon lesz az úgynevezett igény (EKT) a héjban, ami szintén fáj a böngésző függő állapotban.

Hibakeresés pdb shell

Itt az ideje, hogy debug ezt a nézetet, kölcsönhatásban a script egy shell:

látjuk az utolsó sorban, hogy a gondolat visszatért az OK választ, és végre rendesen.

Pdb megállítani a ciklus, egyszerűen írja q a shell.

Úgy írásban további dokumentáció, tesztelés, fakitermelés és kijelentések helyett a hibakereső

Hibakeresés időt és erőfeszítést igényel.

  • Vedd és fuss teszteket. A Python és Django kiváló beépített teszt környezetben, hogy lehet használni, hogy tesztelje a kódot sokkal gyorsabb, mint kézzel a debugger.
  • Írásban a megfelelő dokumentációt a funkciók, osztályok és modulok. PEP 257 és Python stílus útmutató a Google, hogy a jó módszer az írás jó dokstery.
  • Használja naplózás megjeleníti az eredményeket a program - a fejlesztés során, és a telepítés után.
  • Add érvényesíteni ionok a kódban olyan fontos területeken: csökkenti a kétértelműség megérteni problémák jönnek létre.

Bónusz: Írjon tan integrálni dokumentáció és a tesztelés!

A „állítják False”

Tervezésekor, behelyezésekor a következő sort a kódot:

Ez vezet az a tény, hogy a Django fel AssertionError a megadott érték hibaüzenet ha ezt a vonalat végrehajtásra.

Ha ez megtörténik, az előadás, vagy bármilyen kódot, okozta a képviseletet, és állítsa be DEBUG = True. a böngésző megjeleníti a teljes szint és egy részletes táblázatot Több információra hibakeresés.

Ügyeljen arra, hogy távolítsa el a sort, ha végeztél!