From 67ee5221455de0b45a81a5d4359427145baf52fa Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Sun, 5 Nov 2023 01:06:11 +0100 Subject: [PATCH 1/8] =?UTF-8?q?=F0=9F=8C=90=20Add=20German=20translation?= =?UTF-8?q?=20for=20`docs/de/docs/tutorial/debugging.md`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Full translation * In sync with #10590 * Google Translate used * Manually checked * Checked for errors using LanguageTool --- docs/de/docs/tutorial/debugging.md | 165 +++++++++++++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 docs/de/docs/tutorial/debugging.md diff --git a/docs/de/docs/tutorial/debugging.md b/docs/de/docs/tutorial/debugging.md new file mode 100644 index 000000000..adcc8f45d --- /dev/null +++ b/docs/de/docs/tutorial/debugging.md @@ -0,0 +1,165 @@ +# Debuggen + +Sie können FastAPI in Ihrem Editor debuggen, was wir am Beispiel Visual Studio Code und PyCharm hier zeigen wollen. + +## Visual Studio Code + +Visual Studio Code (oder kurz, VS Code) verfügt bereits über eine Debugger-Konfiguration speziell für FastAPI. + +Nehmen wir an, Sie haben ihre FastAPI Anwendung in einer Datei `myapp.py` untergebracht: + +```Python +{!../../../docs_src/debugging/tutorial001.py!} +``` + +In VS Code können Sie diese Anwendung nun wie folgt debuggen: + +* Öffnen Sie ihre `myapp.py`. Achten Sie auch darauf, dass deren Editor-Tab aktiv ist. + +* Öffnen Sie nun links das Debug-Panel – Das Panel „Ausführen und debuggen“. + +* Klicken Sie dort auf den Link „erstellen Sie eine launch.json-Datei“. + +* In dem Dropdown, der jetzt angezeigt wird, wählen Sie „FastAPI“. + +* In dem anschließenden Dropdown geben Sie den Namen ihrer Anwendungsdatei ein, hier `myapp.py` (Das ist nur notwendig, weil VS Code keine Datei `main.py` gefunden hat). + +* Jetzt wird in ihrem Projekt, im Unterordner `.vscode/`, eine Datei `launch.json` erstellt und im Editor geöffnet. Sie wird ungefähr so aussehen: + +```json +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Python: FastAPI", + "type": "python", + "request": "launch", + "module": "uvicorn", + "args": [ + "myapp:app", + "--reload" + ], + "jinja": true, + "justMyCode": true + } + ] +} +``` + +* Alle wichtigen Einstellungen sind bereits vorgenommen, Sie müssen diese Datei nicht weiter bearbeiten, und können sie schließen. + +* Die von ihnen soeben erzeugte Debug-Konfiguration wird jetzt auch im Debug-Panel oben als „Python: FastAPI“ angezeigt. + +* Klicken Sie auf das grüne Dreieck neben Ihrer „Python: FastAPI“- Konfiguration, oder drücken Sie die Taste `F5`. + +* Das Debuggen beginnt. Oben erscheint ein Kästchen mit Buttons, etwa um das Debuggen nach einem Haltepunkt fortzusetzen, oder um das Debuggen zu beenden. + +* Der FastAPI Entwicklungsserver wird gestartet, wie Sie im sich unten öffnenden Terminal sehen können. + +* Fügen Sie jetzt in `myapp.py`, beispielsweise in der letzten Zeile der Funktion, einen Haltepunkt hinzu, indem Sie auf den roten Punkt klicken, der erscheint, wenn Sie die Maus über die Zeilennummer bewegen. + +* Besuchen Sie in Ihrem Webbrowser die Startseite Ihrer Anwendung unter http://127.0.0.1:8000/. + +* In VS Code können Sie jetzt sehen, dass der Debugger bei ihrem Haltepunkt stoppt. Die aufgerufene Webseite hört nicht auf, zu laden, da Sie dem Debugger gesagt haben, vor der Rückgabe der Response zu stoppen. Links in Debug-Panel sehen Sie die aktuell verfügbaren lokalen und globalen Variablen. So sieht es etwa aus: + + + +* Um die Ausführung fortzusetzen, klicken Sie im Debug-Kästchen auf den Button „Continue“. Jetzt wird die Response zurückgeliefert und die Webseite im Browser lädt zu Ende. + +* Um das Debuggen zu beenden, klicken Sie (eventuell mehrmals) auf den Stop-Button im selben Kästchen. Der Entwicklungsserver wird beendet. + +Damit wissen Sie das Notwendige, um Ihre Anwendung in VS Code zu debuggen! 🚀 + +## PyCharm + +PyCharm verfügt derzeit noch über keine Debug-Konfiguration speziell für FastAPI-Anwendungen, daher werden wir den `uvicorn`-Server direkt aus unserer `myapp.py` heraus ausführen. + +### `uvicorn` aufrufen + +Importieren Sie `uvicorn` und führen Sie es direkt aus: + +```Python hl_lines="1 15" +{!../../../docs_src/debugging/tutorial002.py!} +``` + +### Über `__name__ == "__main__"` + +Der Hauptzweck von `__name__ == "__main__"` besteht darin, einen Codeblock zu haben, der ausgeführt wird, wenn Ihre Datei aufgerufen wird mit: + +
+ +```console +$ python myapp.py +``` + +
+ +der aber nicht aufgerufen wird, wenn eine andere Datei sie importiert, wie in: + +```Python +from myapp import app +``` + +#### Weitere Details + +Wenn Sie Ihre Datei ausführen mit: + +
+ +```console +$ python myapp.py +``` + +
+ +dann wird die interne Variable `__name__` in Ihrer Datei, welche automatisch von Python erstellt wird, als Wert den String `"__main__"` haben. + +Also wird der Abschnitt: + +```Python + uvicorn.run(app, host="0.0.0.0", port=8000) +``` + +ausgeführt. + +--- + +Dies wird nicht passieren, wenn Sie dieses Modul (diese Datei) importieren. + +Wenn Sie also eine andere Datei `importer.py` haben mit: + +```Python +from myapp import app + +# Hier mehr Code +``` + +wird in diesem Fall die automatisch erstellte Variable `__name__` in `myapp.py` nicht den Wert `"__main__"` haben. + +Also wird die Zeile: + +```Python + uvicorn.run(app, host="0.0.0.0", port=8000) +``` + +nicht ausgeführt. + +!!! info + Weitere Informationen finden Sie in der offiziellen Python-Dokumentation. + +### Den Code mit dem Debugger ausführen + +Da Sie den Uvicorn-Server nun direkt aus Ihrem Code heraus ausführen, können Sie Ihr Python-Programm (Ihre FastAPI-Anwendung) direkt über den PyCharm Debugger (oder Debuggern von anderen Editoren) aufrufen. + +* Klicken Sie einfach auf das grüne Dreieck, das in der Zeile neben dem `if __name__ == "__main__":` erscheint, und wählen Sie „Debug 'myapp'“. + +* Der Debugger wird gestartet. Unten öffnen sich eine Konsole, die anzeigt, dass der uvicorn Entwicklungsserver gestartet wird. + +* Fahren Sie anschließend fort wie unter [Visul Studio Code](#visual-studio-code): Setzen Sie Haltepunkte, laden Sie die Seite im Browser, begutachten Sie den aktuellen Zustand Ihrer Anwendung. Und auch hier haben Sie, diesmal unten, Buttons, um mit dem Debuggen fortzufahren, es zu beenden, usw. So sieht es etwa aus: + + + +Und damit wissen Sie auch das Notwendige, um Ihre Anwendung in PyCharm zu debuggen! 🚀 From 7bf43c98172b0912f0822a3b373979208c3df210 Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Sun, 5 Nov 2023 02:50:49 +0100 Subject: [PATCH 2/8] Typo --- docs/de/docs/tutorial/debugging.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/de/docs/tutorial/debugging.md b/docs/de/docs/tutorial/debugging.md index adcc8f45d..50af1d1ab 100644 --- a/docs/de/docs/tutorial/debugging.md +++ b/docs/de/docs/tutorial/debugging.md @@ -158,7 +158,7 @@ Da Sie den Uvicorn-Server nun direkt aus Ihrem Code heraus ausführen, können S * Der Debugger wird gestartet. Unten öffnen sich eine Konsole, die anzeigt, dass der uvicorn Entwicklungsserver gestartet wird. -* Fahren Sie anschließend fort wie unter [Visul Studio Code](#visual-studio-code): Setzen Sie Haltepunkte, laden Sie die Seite im Browser, begutachten Sie den aktuellen Zustand Ihrer Anwendung. Und auch hier haben Sie, diesmal unten, Buttons, um mit dem Debuggen fortzufahren, es zu beenden, usw. So sieht es etwa aus: +* Fahren Sie anschließend fort wie unter [Visual Studio Code](#visual-studio-code): Setzen Sie Haltepunkte, laden Sie die Seite im Browser, begutachten Sie den aktuellen Zustand Ihrer Anwendung. Und auch hier haben Sie, diesmal unten, Buttons, um mit dem Debuggen fortzufahren, es zu beenden, usw. So sieht es etwa aus: From 350f4b23fa4096963ffd782174a830f7c954f94f Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Sun, 5 Nov 2023 14:25:11 +0100 Subject: [PATCH 3/8] "Datei" -> "Modul" --- docs/de/docs/tutorial/debugging.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/de/docs/tutorial/debugging.md b/docs/de/docs/tutorial/debugging.md index 50af1d1ab..e909a2d3c 100644 --- a/docs/de/docs/tutorial/debugging.md +++ b/docs/de/docs/tutorial/debugging.md @@ -87,7 +87,7 @@ Importieren Sie `uvicorn` und führen Sie es direkt aus: ### Über `__name__ == "__main__"` -Der Hauptzweck von `__name__ == "__main__"` besteht darin, einen Codeblock zu haben, der ausgeführt wird, wenn Ihre Datei aufgerufen wird mit: +Der Hauptzweck von `__name__ == "__main__"` besteht darin, einen Codeblock zu haben, der ausgeführt wird, wenn Ihr Modul (Ihre Quellcode-Datei, hier `myapp.py`) aufgerufen wird mit:
@@ -97,7 +97,7 @@ $ python myapp.py
-der aber nicht aufgerufen wird, wenn eine andere Datei sie importiert, wie in: +der aber nicht aufgerufen wird, wenn eine anderes Modul es importiert, wie in: ```Python from myapp import app @@ -105,7 +105,7 @@ from myapp import app #### Weitere Details -Wenn Sie Ihre Datei ausführen mit: +Wenn Sie Ihr Modul ausführen mit:
@@ -115,7 +115,7 @@ $ python myapp.py
-dann wird die interne Variable `__name__` in Ihrer Datei, welche automatisch von Python erstellt wird, als Wert den String `"__main__"` haben. +dann wird die interne Variable `__name__` in Ihrem Modul, welche automatisch von Python erstellt wird, als Wert den String `"__main__"` haben. Also wird der Abschnitt: @@ -129,7 +129,7 @@ ausgeführt. Dies wird nicht passieren, wenn Sie dieses Modul (diese Datei) importieren. -Wenn Sie also eine andere Datei `importer.py` haben mit: +Wenn Sie also eine anderes Modul `importer.py` haben mit: ```Python from myapp import app From 981d29f687479ebc4b2258185fbd1a930dba9dc0 Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Sun, 5 Nov 2023 14:55:15 +0100 Subject: [PATCH 4/8] Be more in sync with original `__name__=="__main__"` chapter Also undo the changes of the previous commit. --- docs/de/docs/tutorial/debugging.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/de/docs/tutorial/debugging.md b/docs/de/docs/tutorial/debugging.md index e909a2d3c..639c2be82 100644 --- a/docs/de/docs/tutorial/debugging.md +++ b/docs/de/docs/tutorial/debugging.md @@ -87,7 +87,7 @@ Importieren Sie `uvicorn` und führen Sie es direkt aus: ### Über `__name__ == "__main__"` -Der Hauptzweck von `__name__ == "__main__"` besteht darin, einen Codeblock zu haben, der ausgeführt wird, wenn Ihr Modul (Ihre Quellcode-Datei, hier `myapp.py`) aufgerufen wird mit: +Der Hauptzweck von `__name__ == "__main__"` besteht darin, einen Codeblock zu haben, der ausgeführt wird, wenn Ihre Datei aufgerufen wird mit:
@@ -97,7 +97,7 @@ $ python myapp.py
-der aber nicht aufgerufen wird, wenn eine anderes Modul es importiert, wie in: +der aber nicht ausgeführt wird, wenn eine andere Datei sie importiert, wie in: ```Python from myapp import app @@ -105,7 +105,7 @@ from myapp import app #### Weitere Details -Wenn Sie Ihr Modul ausführen mit: +Wenn Sie Ihre Datei ausführen mit:
@@ -115,7 +115,7 @@ $ python myapp.py
-dann wird die interne Variable `__name__` in Ihrem Modul, welche automatisch von Python erstellt wird, als Wert den String `"__main__"` haben. +dann wird die interne Variable `__name__` in Ihrer Datei, welche automatisch von Python erstellt wird, als Wert den String `"__main__"` haben. Also wird der Abschnitt: @@ -129,7 +129,7 @@ ausgeführt. Dies wird nicht passieren, wenn Sie dieses Modul (diese Datei) importieren. -Wenn Sie also eine anderes Modul `importer.py` haben mit: +Wenn Sie also eine andere Datei `importer.py` haben mit: ```Python from myapp import app @@ -137,7 +137,7 @@ from myapp import app # Hier mehr Code ``` -wird in diesem Fall die automatisch erstellte Variable `__name__` in `myapp.py` nicht den Wert `"__main__"` haben. +wird in dem Fall die automatisch erstellte Variable `__name__` in `myapp.py` nicht den Wert `"__main__"` haben. Also wird die Zeile: From ba93b22f3c932880be4931acddc03f8d9e7f2040 Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Sun, 5 Nov 2023 15:04:28 +0100 Subject: [PATCH 5/8] Better wording --- docs/de/docs/tutorial/debugging.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/de/docs/tutorial/debugging.md b/docs/de/docs/tutorial/debugging.md index 639c2be82..6d80ff169 100644 --- a/docs/de/docs/tutorial/debugging.md +++ b/docs/de/docs/tutorial/debugging.md @@ -154,7 +154,7 @@ nicht ausgeführt. Da Sie den Uvicorn-Server nun direkt aus Ihrem Code heraus ausführen, können Sie Ihr Python-Programm (Ihre FastAPI-Anwendung) direkt über den PyCharm Debugger (oder Debuggern von anderen Editoren) aufrufen. -* Klicken Sie einfach auf das grüne Dreieck, das in der Zeile neben dem `if __name__ == "__main__":` erscheint, und wählen Sie „Debug 'myapp'“. +* Klicken Sie einfach auf das grüne Dreieck, das links neben der Zeile `if __name__ == "__main__":` erscheint, und wählen Sie „Debug 'myapp'“. * Der Debugger wird gestartet. Unten öffnen sich eine Konsole, die anzeigt, dass der uvicorn Entwicklungsserver gestartet wird. From f78813a5fb86a0132fac979f54c97749908bf60b Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Sun, 5 Nov 2023 15:15:15 +0100 Subject: [PATCH 6/8] Better wording --- docs/de/docs/tutorial/debugging.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/de/docs/tutorial/debugging.md b/docs/de/docs/tutorial/debugging.md index 6d80ff169..cdd88453e 100644 --- a/docs/de/docs/tutorial/debugging.md +++ b/docs/de/docs/tutorial/debugging.md @@ -156,7 +156,7 @@ Da Sie den Uvicorn-Server nun direkt aus Ihrem Code heraus ausführen, können S * Klicken Sie einfach auf das grüne Dreieck, das links neben der Zeile `if __name__ == "__main__":` erscheint, und wählen Sie „Debug 'myapp'“. -* Der Debugger wird gestartet. Unten öffnen sich eine Konsole, die anzeigt, dass der uvicorn Entwicklungsserver gestartet wird. +* Der Debugger startet. Unten öffnen sich ein Konsolenfenster, das anzeigt, dass der Uvicorn Entwicklungsserver hochfährt. * Fahren Sie anschließend fort wie unter [Visual Studio Code](#visual-studio-code): Setzen Sie Haltepunkte, laden Sie die Seite im Browser, begutachten Sie den aktuellen Zustand Ihrer Anwendung. Und auch hier haben Sie, diesmal unten, Buttons, um mit dem Debuggen fortzufahren, es zu beenden, usw. So sieht es etwa aus: From 2576efb8b54060703bc5d5edd405b6e68e839049 Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Sun, 5 Nov 2023 15:26:13 +0100 Subject: [PATCH 7/8] And another rewording --- docs/de/docs/tutorial/debugging.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/de/docs/tutorial/debugging.md b/docs/de/docs/tutorial/debugging.md index cdd88453e..70001d8b9 100644 --- a/docs/de/docs/tutorial/debugging.md +++ b/docs/de/docs/tutorial/debugging.md @@ -71,7 +71,7 @@ In VS Code können Sie diese Anwendung nun wie folgt debuggen: * Um das Debuggen zu beenden, klicken Sie (eventuell mehrmals) auf den Stop-Button im selben Kästchen. Der Entwicklungsserver wird beendet. -Damit wissen Sie das Notwendige, um Ihre Anwendung in VS Code zu debuggen! 🚀 +Damit wissen Sie die Grundlagen, um Ihre Anwendung in VS Code zu debuggen! 🚀 ## PyCharm @@ -162,4 +162,4 @@ Da Sie den Uvicorn-Server nun direkt aus Ihrem Code heraus ausführen, können S -Und damit wissen Sie auch das Notwendige, um Ihre Anwendung in PyCharm zu debuggen! 🚀 +Und damit kennen Sie auch die Grundlagen, um Ihre Anwendung in PyCharm zu debuggen! 🚀 From 03b27d0bb0e98988b04e18d352284d2591eef59a Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Sun, 4 Feb 2024 00:16:29 +0100 Subject: [PATCH 8/8] Sync with english docs --- docs/de/docs/tutorial/debugging.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/de/docs/tutorial/debugging.md b/docs/de/docs/tutorial/debugging.md index 70001d8b9..15ac89d5d 100644 --- a/docs/de/docs/tutorial/debugging.md +++ b/docs/de/docs/tutorial/debugging.md @@ -20,7 +20,9 @@ In VS Code können Sie diese Anwendung nun wie folgt debuggen: * Klicken Sie dort auf den Link „erstellen Sie eine launch.json-Datei“. -* In dem Dropdown, der jetzt angezeigt wird, wählen Sie „FastAPI“. +* Im Dropdown-Menü wählen Sie „Python Debugger“. + +* Wählen Sie als nächstes „FastAPI“ von den Optionen. * In dem anschließenden Dropdown geben Sie den Namen ihrer Anwendungsdatei ein, hier `myapp.py` (Das ist nur notwendig, weil VS Code keine Datei `main.py` gefunden hat). @@ -53,7 +55,7 @@ In VS Code können Sie diese Anwendung nun wie folgt debuggen: * Die von ihnen soeben erzeugte Debug-Konfiguration wird jetzt auch im Debug-Panel oben als „Python: FastAPI“ angezeigt. -* Klicken Sie auf das grüne Dreieck neben Ihrer „Python: FastAPI“- Konfiguration, oder drücken Sie die Taste `F5`. +* Klicken Sie auf das grüne Dreieck neben Ihrer „Python Debugger: FastAPI“- Konfiguration, oder drücken Sie die Taste `F5`. * Das Debuggen beginnt. Oben erscheint ein Kästchen mit Buttons, etwa um das Debuggen nach einem Haltepunkt fortzusetzen, oder um das Debuggen zu beenden.