Python TagebuchPython lernen – mein persönliches Tagebuch

Tagebuch-Eintrag #57
Flask – Der DEBUG-Modus

Wieder eine Woche vergangen. Wieder Zeit um Python und Flask zu lernen. Heute der steht der DEBUG-Modus auf dem Plan.
Werbung/Anzeige

Jetzt, wo Flask mich mit „Hallo Welt“ begrüßt und eine einfache Ausgabe klappt. Ist mir eine Sache dabei aufgefallen, was – nervt ist das falsche Wort – lästig ist.

Wenn ich beim üben und probieren den return-Wert ändere. Muss ich immer wieder die Flask-Anwendung beenden und neu starten und dann den die Seite im Browser neu laden. Letztere ist durchaus normal.

In der Dokumentation fand ich auch schnell die Lösung – nämlich der Debug-Modus. Nicht nur, dass es dazu da ist um Fehler-Quellen zu finden, der Debugger sorgt auch dafür, dass der lokale Server nach der Änderung automatisch neu gestartet wird. Das geschieht ein paar Sekunden, wenn man nichts mehr ändert. Dadurch brauche ich nur noch die Seite im Browser neu zu laden, damit ich die Änderungen sehen kann.

Flask-Debug aktivieren

Folge ich der Dokumentation von Flask aktivere ich die Entwicklungsumgebung mit

export FLASK_ENV=development

Danach starte ich die Flask-App wie gehabt mit

flask run

So ahnungslos wie ich derzeit bin, wusste ich erstmal nicht was ich genau tun sollte. Ich hatte einfach es so eingeben, wie oben beschrieben. Der Browser zeigte mir dann irgendwelche Daten an, mit dem ich auf dem ersten Blick nichts anfangen konnte – Man könnte sage, typisch Debug-Modus 😉

Flask Debug
Flask Debug

Aber beim genauen hinsehen, wurde klar. Ich habe keine FLASK_APP definiert und deswegen ist mein „Hello World“ nicht zu sehen. Die gleiche Debug-Meldung ist übrigens auch im Terminal vom VS Code zu sehen.

Flask-Debug-Modus richtig aktivieren

So, jetzt habe ich eben ungewollt doch noch das gesehen, was der Flask-Debugger macht. Auch gut zu wissen. Aber nun möchte ich den Flask-Debug-Modus dafür nutzen, wie ich es eigentlich dafür vorgesehen habe.

Statt der Entwicklungsumgebung, kann ich auch nur den Debug-Modus aktivieren. Laut Flask-Dokumentation heißt der Befehl:

FLASK_DEBUG=1

Und das ganze sieht dann so aus:

export FLASK_APP=hello.py
export FLASK_DEBUG=1
flask run

Die richtige Reihenfolge um den Flask-Debugger für die App zu aktiveren wäre zunächst einmal die py-Datei für die App zuzuweisen, danach erst den Debug-Modus aktivieren und als letzten Schritt die Anwendung mit flask run zu starten.

Flask Debug mode: on - VSCODE
Flask Debug mode: on – VSCODE

Es ist auch möglich die zwei export-Befehle in einer Zeile mit einem Semikolon getrennt zu schreiben. Das sieht dann so aus:

export FLASK_APP=hello.py;FLASK_DEBUG=1
flask run
Flask_Debug=1
Flask_Debug=1

Wenn ich nun etwas ändere. Zum Beispiel von Hello World in Hello Jing, dann erkennt der Flask-Debugger die Änderung und startet die Entwicklungsumgebung neu und ich brauche nur noch die Seite im Browser neu zu laden.

Flask Debug - Detected change
Flask Debug – Detected change

Das spart auf jedenfall einiges an Tipperei im Terminal 😉

Wie der Debug-Modus bei größeren Projekten arbeitet und die Performance ist, insbesondere bei ’ständigen‘ Änderungen der Daten, muss ich noch sehen.

Für die ersten Schritte lasse ich es aktiviert.

# # ## ENDE Tagebuch-Eintrag #57 | Flask – Der DEBUG-Modus
Werbung/Anzeige
Schlagwörter im Tagebuch-Eintrag:

Kommentar schreiben




Werbung/Anzeige