diff --git a/docs/de/docs/alternatives.md b/docs/de/docs/alternatives.md index b6509ec09d..1935583483 100644 --- a/docs/de/docs/alternatives.md +++ b/docs/de/docs/alternatives.md @@ -482,4 +482,4 @@ Weitere Details finden Sie im Abschnitt [Deployment](deployment/index.md){.inter ## Benchmarks und Geschwindigkeit { #benchmarks-and-speed } -Um den Unterschied zwischen Uvicorn, Starlette und FastAPI zu verstehen, zu vergleichen und zu sehen, lesen Sie den Abschnitt über [Benchmarks](benchmarks.md){.internal-link target=_blank}. +Um den Unterschied zwischen Uvicorn, Starlette und FastAPI zu verstehen, zu vergleichen, und zu sehen, lesen Sie den Abschnitt über [Benchmarks](benchmarks.md){.internal-link target=_blank}. diff --git a/docs/de/docs/async.md b/docs/de/docs/async.md index 3dbd442e5f..066a9d9f6b 100644 --- a/docs/de/docs/async.md +++ b/docs/de/docs/async.md @@ -4,7 +4,7 @@ Details zur `async def`-Syntax für *Pfadoperation-Funktionen* und Hintergrundin ## In Eile? { #in-a-hurry } -TL;DR: +TL;DR: Wenn Sie Bibliotheken von Dritten verwenden, die mit `await` aufgerufen werden müssen, wie zum Beispiel: @@ -74,7 +74,7 @@ Dann kommt der Computer / das Programm 🤖 bei jeder Gelegenheit zurück, weil Dann nimmt es 🤖 die erste erledigte Aufgabe (sagen wir, unsere „Langsam-Datei“ 📝) und bearbeitet sie weiter. -Das „Warten auf etwas anderes“ bezieht sich normalerweise auf I/O-Operationen, die relativ „langsam“ sind (im Vergleich zur Geschwindigkeit des Prozessors und des Arbeitsspeichers), wie etwa das Warten darauf, dass: +Das „Warten auf etwas anderes“ bezieht sich normalerweise auf I/O-Operationen, die relativ „langsam“ sind (im Vergleich zur Geschwindigkeit des Prozessors und des Arbeitsspeichers), wie etwa das Warten darauf, dass: * die Daten des Clients über das Netzwerk empfangen wurden * die von Ihrem Programm gesendeten Daten vom Client über das Netzwerk empfangen wurden @@ -85,7 +85,7 @@ Das „Warten auf etwas anderes“ bezieht sich normalerweise auf I/O-Operationen verbraucht wird, nennt man dies auch „I/O-lastige“ („I/O bound“) Operationen. +Da die Ausführungszeit hier hauptsächlich durch das Warten auf I/O-Operationen verbraucht wird, nennt man dies auch „I/O-lastige“ („I/O bound“) Operationen. „Asynchron“, sagt man, weil der Computer / das Programm nicht mit einer langsamen Aufgabe „synchronisiert“ werden muss und nicht auf den genauen Moment warten muss, in dem die Aufgabe beendet ist, ohne dabei etwas zu tun, um schließlich das Ergebnis der Aufgabe zu übernehmen und die Arbeit fortsetzen zu können. @@ -141,7 +141,7 @@ Sie und Ihr Schwarm essen die Burger und haben eine schöne Zeit. ✨ /// info | Info -Die wunderschönen Illustrationen stammen von Ketrina Thompson. 🎨 +Die wunderschönen Illustrationen stammen von [Ketrina Thompson](https://www.instagram.com/ketrinadrawsalot). 🎨 /// @@ -207,7 +207,7 @@ Es wurde nicht viel geredet oder geflirtet, da die meiste Zeit mit Warten 🕙 v /// info | Info -Die wunderschönen Illustrationen stammen von Ketrina Thompson. 🎨 +Die wunderschönen Illustrationen stammen von [Ketrina Thompson](https://www.instagram.com/ketrinadrawsalot). 🎨 /// @@ -251,7 +251,7 @@ Diese Art der Asynchronität hat NodeJS populär gemacht (auch wenn NodeJS nicht Und das ist das gleiche Leistungsniveau, das Sie mit **FastAPI** erhalten. -Und da Sie Parallelität und Asynchronität gleichzeitig haben können, erzielen Sie eine höhere Performanz als die meisten getesteten NodeJS-Frameworks und sind mit Go auf Augenhöhe, einer kompilierten Sprache, die näher an C liegt (alles dank Starlette). +Und da Sie Parallelität und Asynchronität gleichzeitig haben können, erzielen Sie eine höhere Performanz als die meisten getesteten NodeJS-Frameworks und sind mit Go auf Augenhöhe, einer kompilierten Sprache, die näher an C liegt [(alles dank Starlette)](https://www.techempower.com/benchmarks/#section=data-r17&hw=ph&test=query&l=zijmkf-1). ### Ist Nebenläufigkeit besser als Parallelität? { #is-concurrency-better-than-parallelism } @@ -277,7 +277,7 @@ Aber wenn Sie in diesem Fall die acht Ex-Kassierer/Köche/jetzt Reinigungskräft In diesem Szenario wäre jede einzelne Reinigungskraft (einschließlich Ihnen) ein Prozessor, der seinen Teil der Arbeit erledigt. -Und da die meiste Ausführungszeit durch tatsächliche Arbeit (anstatt durch Warten) in Anspruch genommen wird und die Arbeit in einem Computer von einer CPU erledigt wird, werden diese Probleme als „CPU-lastig“ („CPU bound“) bezeichnet. +Und da die meiste Ausführungszeit durch tatsächliche Arbeit (anstatt durch Warten) in Anspruch genommen wird und die Arbeit in einem Computer von einer CPU erledigt wird, werden diese Probleme als „CPU-lastig“ („CPU bound“) bezeichnet. --- @@ -298,7 +298,7 @@ Sie können aber auch die Vorteile von Parallelität und Multiprocessing (mehrer Dies und die einfache Tatsache, dass Python die Hauptsprache für **Data Science**, maschinelles Lernen und insbesondere Deep Learning ist, machen FastAPI zu einem sehr passenden Werkzeug für Web-APIs und Anwendungen für Data Science / maschinelles Lernen (neben vielen anderen). -Wie Sie diese Parallelität in der Produktion erreichen, erfahren Sie im Abschnitt über [Deployment](deployment/index.md){.internal-link target=_blank}. +Wie Sie diese Parallelität in der Produktion erreichen, erfahren Sie im Abschnitt über [Deployment](deployment/index.md). ## `async` und `await` { #async-and-await } @@ -363,13 +363,13 @@ Wenn Sie jedoch `async` / `await` ohne FastAPI verwenden möchten, können Sie d ### Schreiben Sie Ihren eigenen asynchronen Code { #write-your-own-async-code } -Starlette (und **FastAPI**) basieren auf AnyIO, was bedeutet, dass es sowohl kompatibel mit der Python-Standardbibliothek asyncio als auch mit Trio ist. +Starlette (und **FastAPI**) basieren auf [AnyIO](https://anyio.readthedocs.io/en/stable/), was bedeutet, dass es sowohl kompatibel mit der Python-Standardbibliothek [asyncio](https://docs.python.org/3/library/asyncio-task.html) als auch mit [Trio](https://trio.readthedocs.io/en/stable/) ist. -Insbesondere können Sie AnyIO direkt verwenden für Ihre fortgeschrittenen nebenläufigen Anwendungsfälle, die fortgeschrittenere Muster in Ihrem eigenen Code erfordern. +Insbesondere können Sie [AnyIO](https://anyio.readthedocs.io/en/stable/) direkt verwenden für Ihre fortgeschrittenen nebenläufigen Anwendungsfälle, die fortgeschrittenere Muster in Ihrem eigenen Code erfordern. -Und auch wenn Sie FastAPI nicht verwenden würden, könnten Sie Ihre eigenen asynchronen Anwendungen mit AnyIO schreiben, um hochkompatibel zu sein und dessen Vorteile zu nutzen (z. B. *strukturierte Nebenläufigkeit*). +Und auch wenn Sie FastAPI nicht verwenden würden, könnten Sie Ihre eigenen asynchronen Anwendungen mit [AnyIO](https://anyio.readthedocs.io/en/stable/) schreiben, um hochkompatibel zu sein und dessen Vorteile zu nutzen (z. B. *strukturierte Nebenläufigkeit*). -Ich habe eine weitere Bibliothek auf Basis von AnyIO erstellt, als dünne Schicht obendrauf, um die Typannotationen etwas zu verbessern und bessere **Autovervollständigung**, **Inline-Fehler** usw. zu erhalten. Sie hat auch eine freundliche Einführung und ein Tutorial, um Ihnen zu helfen, **Ihren eigenen asynchronen Code zu verstehen** und zu schreiben: Asyncer. Sie ist insbesondere nützlich, wenn Sie **asynchronen Code mit regulärem** (blockierendem/synchronem) Code kombinieren müssen. +Ich habe eine weitere Bibliothek auf Basis von AnyIO erstellt, als dünne Schicht obendrauf, um die Typannotationen etwas zu verbessern und bessere **Autovervollständigung**, **Inline-Fehler** usw. zu erhalten. Sie hat auch eine freundliche Einführung und ein Tutorial, um Ihnen zu helfen, **Ihren eigenen asynchronen Code zu verstehen** und zu schreiben: [Asyncer](https://asyncer.tiangolo.com/). Sie ist insbesondere nützlich, wenn Sie **asynchronen Code mit regulärem** (blockierendem/synchronem) Code kombinieren müssen. ### Andere Formen von asynchronem Code { #other-forms-of-asynchronous-code } @@ -381,7 +381,7 @@ Die gleiche Syntax (oder fast identisch) wurde kürzlich auch in moderne Version Davor war der Umgang mit asynchronem Code jedoch deutlich komplexer und schwieriger. -In früheren Versionen von Python hätten Sie Threads oder Gevent verwenden können. Der Code ist jedoch viel komplexer zu verstehen, zu debuggen und nachzuvollziehen. +In früheren Versionen von Python hätten Sie Threads oder [Gevent](https://www.gevent.org/) verwenden können. Der Code ist jedoch viel komplexer zu verstehen, zu debuggen und nachzuvollziehen. In früheren Versionen von NodeJS / Browser JavaScript hätten Sie „Callbacks“ verwendet. Was zur „Callback-Hölle“ führt. @@ -417,17 +417,17 @@ Wenn Sie über gute technische Kenntnisse verfügen (Coroutinen, Threads, Blocki Wenn Sie eine *Pfadoperation-Funktion* mit normalem `def` anstelle von `async def` deklarieren, wird sie in einem externen Threadpool ausgeführt, der dann `await`et wird, anstatt direkt aufgerufen zu werden (da dies den Server blockieren würde). -Wenn Sie von einem anderen asynchronen Framework kommen, das nicht auf die oben beschriebene Weise funktioniert, und Sie es gewohnt sind, triviale, nur-berechnende *Pfadoperation-Funktionen* mit einfachem `def` zu definieren, um einen geringfügigen Geschwindigkeitsgewinn (etwa 100 Nanosekunden) zu erzielen, beachten Sie bitte, dass der Effekt in **FastAPI** genau gegenteilig wäre. In solchen Fällen ist es besser, `async def` zu verwenden, es sei denn, Ihre *Pfadoperation-Funktionen* verwenden Code, der blockierende I/O-Operationen durchführt. +Wenn Sie von einem anderen asynchronen Framework kommen, das nicht auf die oben beschriebene Weise funktioniert, und Sie es gewohnt sind, triviale, nur-berechnende *Pfadoperation-Funktionen* mit einfachem `def` zu definieren, um einen geringfügigen Geschwindigkeitsgewinn (etwa 100 Nanosekunden) zu erzielen, beachten Sie bitte, dass der Effekt in **FastAPI** genau gegenteilig wäre. In solchen Fällen ist es besser, `async def` zu verwenden, es sei denn, Ihre *Pfadoperation-Funktionen* verwenden Code, der blockierende I/O-Operationen durchführt. -Dennoch besteht in beiden Fällen eine gute Chance, dass **FastAPI** [immer noch schneller](index.md#performance){.internal-link target=_blank} als Ihr bisheriges Framework (oder zumindest damit vergleichbar) ist. +Dennoch besteht in beiden Fällen eine gute Chance, dass **FastAPI** [immer noch schneller](index.md#performance) als Ihr bisheriges Framework (oder zumindest damit vergleichbar) ist. ### Abhängigkeiten { #dependencies } -Das Gleiche gilt für [Abhängigkeiten](tutorial/dependencies/index.md){.internal-link target=_blank}. Wenn eine Abhängigkeit eine normale `def`-Funktion anstelle einer `async def` ist, wird sie im externen Threadpool ausgeführt. +Das Gleiche gilt für [Abhängigkeiten](tutorial/dependencies/index.md). Wenn eine Abhängigkeit eine normale `def`-Funktion anstelle einer `async def` ist, wird sie im externen Threadpool ausgeführt. ### Unterabhängigkeiten { #sub-dependencies } -Sie können mehrere Abhängigkeiten und [Unterabhängigkeiten](tutorial/dependencies/sub-dependencies.md){.internal-link target=_blank} haben, die einander bedingen (als Parameter der Funktionsdefinitionen), einige davon könnten erstellt werden mit `async def` und einige mit normalem `def`. Es würde immer noch funktionieren, und diejenigen, die mit normalem `def` erstellt wurden, würden in einem externen Thread (vom Threadpool stammend) aufgerufen werden, anstatt `await`et zu werden. +Sie können mehrere Abhängigkeiten und [Unterabhängigkeiten](tutorial/dependencies/sub-dependencies.md) haben, die einander bedingen (als Parameter der Funktionsdefinitionen), einige davon könnten erstellt werden mit `async def` und einige mit normalem `def`. Es würde immer noch funktionieren, und diejenigen, die mit normalem `def` erstellt wurden, würden in einem externen Thread (vom Threadpool stammend) aufgerufen werden, anstatt `await`et zu werden. ### Andere Hilfsfunktionen { #other-utility-functions } diff --git a/docs/de/docs/benchmarks.md b/docs/de/docs/benchmarks.md index 285d35bf93..9421f80105 100644 --- a/docs/de/docs/benchmarks.md +++ b/docs/de/docs/benchmarks.md @@ -1,6 +1,6 @@ # Benchmarks { #benchmarks } -Unabhängige TechEmpower-Benchmarks zeigen **FastAPI**-Anwendungen, die unter Uvicorn ausgeführt werden, als eines der schnellsten verfügbaren Python-Frameworks, nur unterhalb von Starlette und Uvicorn selbst (die intern von FastAPI verwendet werden). +Unabhängige TechEmpower-Benchmarks zeigen **FastAPI**-Anwendungen, die unter Uvicorn ausgeführt werden, als [eines der schnellsten verfügbaren Python-Frameworks](https://www.techempower.com/benchmarks/#section=test&runid=7464e520-0dc2-473d-bd34-dbdfd7e85911&hw=ph&test=query&l=zijzen-7), nur unterhalb von Starlette und Uvicorn selbst (die intern von FastAPI verwendet werden). Aber bei der Betrachtung von Benchmarks und Vergleichen sollten Sie Folgendes beachten. diff --git a/docs/de/docs/fastapi-cli.md b/docs/de/docs/fastapi-cli.md index 86a797a9e6..b34fc4b730 100644 --- a/docs/de/docs/fastapi-cli.md +++ b/docs/de/docs/fastapi-cli.md @@ -1,15 +1,15 @@ # FastAPI CLI { #fastapi-cli } -**FastAPI CLI** ist ein Kommandozeilenprogramm, mit dem Sie Ihre FastAPI-App bereitstellen, Ihr FastAPI-Projekt verwalten und mehr. +**FastAPI CLI** ist ein Kommandozeilenprogramm, mit dem Sie Ihre FastAPI-App bereitstellen, Ihr FastAPI-Projekt verwalten und mehr. -Wenn Sie FastAPI installieren (z. B. mit `pip install "fastapi[standard]"`), wird ein Package namens `fastapi-cli` mitgeliefert, das den Befehl `fastapi` im Terminal bereitstellt. +Wenn Sie FastAPI installieren (z. B. mit `pip install "fastapi[standard]"`), erhalten Sie ein Kommandozeilenprogramm, das Sie im Terminal ausführen können. Um Ihre FastAPI-App für die Entwicklung auszuführen, können Sie den Befehl `fastapi dev` verwenden:
@@ -44,7 +44,7 @@ Dann habe ich einige Zeit damit verbracht, die Entwickler-„API“ zu entwerfen Ich habe mehrere Ideen in den beliebtesten Python-Editoren getestet: PyCharm, VS Code, Jedi-basierte Editoren. -Laut der letzten Python-Entwickler-Umfrage deckt das etwa 80 % der Benutzer ab. +Laut der letzten [Python-Entwickler-Umfrage](https://www.jetbrains.com/research/python-developers-survey-2018/#development-tools) deckt das etwa 80 % der Benutzer ab. Das bedeutet, dass **FastAPI** speziell mit den Editoren getestet wurde, die von 80 % der Python-Entwickler verwendet werden. Und da die meisten anderen Editoren in der Regel ähnlich funktionieren, sollten alle diese Vorteile für praktisch alle Editoren funktionieren. @@ -54,11 +54,11 @@ Alles auf eine Weise, die allen Entwicklern das beste Entwicklungserlebnis bot. ## Anforderungen { #requirements } -Nachdem ich mehrere Alternativen getestet hatte, entschied ich, dass ich **Pydantic** wegen seiner Vorteile verwenden würde. +Nachdem ich mehrere Alternativen getestet hatte, entschied ich, dass ich [**Pydantic**](https://docs.pydantic.dev/) wegen seiner Vorteile verwenden würde. Dann habe ich zu dessen Code beigetragen, um es vollständig mit JSON Schema kompatibel zu machen, und so verschiedene Möglichkeiten zum Definieren von einschränkenden Deklarationen (Constraints) zu unterstützen, und die Editorunterstützung (Typprüfungen, Codevervollständigung) zu verbessern, basierend auf den Tests in mehreren Editoren. -Während der Entwicklung habe ich auch zu **Starlette** beigetragen, die andere Schlüsselanforderung. +Während der Entwicklung habe ich auch zu [**Starlette**](https://www.starlette.dev/) beigetragen, die andere Schlüsselanforderung. ## Entwicklung { #development } @@ -76,4 +76,4 @@ Dennoch stehen uns noch viele Verbesserungen und Funktionen bevor. **FastAPI** hat eine große Zukunft vor sich. -Und [Ihre Hilfe](help-fastapi.md){.internal-link target=_blank} wird sehr geschätzt. +Und [Ihre Hilfe](help-fastapi.md) wird sehr geschätzt. diff --git a/docs/de/docs/index.md b/docs/de/docs/index.md index bb28c68f70..991edae959 100644 --- a/docs/de/docs/index.md +++ b/docs/de/docs/index.md @@ -11,25 +11,25 @@ FastAPI-Framework, hohe Performanz, leicht zu lernen, schnell zu entwickeln, produktionsreif --- -**Dokumentation**: https://fastapi.tiangolo.com/de +**Dokumentation**: [https://fastapi.tiangolo.com/de](https://fastapi.tiangolo.com/de) -**Quellcode**: https://github.com/fastapi/fastapi +**Quellcode**: [https://github.com/fastapi/fastapi](https://github.com/fastapi/fastapi) --- @@ -55,51 +55,51 @@ Seine Schlüssel-Merkmale sind: ### Keystone-Sponsor { #keystone-sponsor } {% for sponsor in sponsors.keystone -%} -+
{% endfor -%} ### Gold- und Silber-Sponsoren { #gold-and-silver-sponsors } {% for sponsor in sponsors.gold -%} -
+
{% endfor -%} {%- for sponsor in sponsors.silver -%} -
+
{% endfor %} -Andere Sponsoren +[Andere Sponsoren](https://fastapi.tiangolo.com/de/fastapi-people/#sponsors) ## Meinungen { #opinions } „_[...] Ich verwende **FastAPI** heutzutage sehr oft. [...] Ich habe tatsächlich vor, es für alle **ML-Services meines Teams bei Microsoft** zu verwenden. Einige davon werden in das Kernprodukt **Windows** und einige **Office**-Produkte integriert._“ -
Kabir Khan – Microsoft (Ref.)+Kabir Khan – Microsoft (Ref.)--- „_Wir haben die **FastAPI**-Bibliothek übernommen, um einen **REST**-Server zu erstellen, der für **Vorhersagen** abgefragt werden kann. [für Ludwig]_“ -Piero Molino, Yaroslav Dudin, und Sai Sumanth Miryala – Uber (Ref.)+Piero Molino, Yaroslav Dudin, und Sai Sumanth Miryala – Uber (Ref.)--- „_**Netflix** freut sich, die Open-Source-Veröffentlichung unseres **Krisenmanagement**-Orchestrierung-Frameworks bekannt zu geben: **Dispatch**! [erstellt mit **FastAPI**]_“ -Kevin Glisson, Marc Vilanova, Forest Monsen – Netflix (Ref.)+Kevin Glisson, Marc Vilanova, Forest Monsen – Netflix (Ref.)--- „_Ich bin hellauf begeistert von **FastAPI**. Es macht so viel Spaß!_“ -Brian Okken – Python Bytes Podcast-Host (Ref.)+Brian Okken – [Python Bytes](https://pythonbytes.fm/episodes/show/123/time-to-right-the-py-wrongs?time_in_sec=855) Podcast-Host (Ref.)--- „_Ehrlich, was Du gebaut hast, sieht super solide und poliert aus. In vielerlei Hinsicht ist es so, wie ich **Hug** haben wollte – es ist wirklich inspirierend, jemanden so etwas bauen zu sehen._“ - +Timothy Crosley – [Hug](https://github.com/hugapi/hug)-Autor (Ref.)--- @@ -107,27 +107,27 @@ Seine Schlüssel-Merkmale sind: „_Wir haben zu **FastAPI** für unsere **APIs** gewechselt [...] Ich denke, es wird Ihnen gefallen [...]_“ - +Ines Montani – Matthew Honnibal – [Explosion AI](https://explosion.ai)-Gründer – [spaCy](https://spacy.io)-Autoren (Ref.) – (Ref.)--- „_Falls irgendjemand eine Produktions-Python-API erstellen möchte, kann ich **FastAPI** wärmstens empfehlen. Es ist **wunderschön konzipiert**, **einfach zu verwenden** und **hoch skalierbar**; es ist zu einer **Schlüsselkomponente** unserer API-First-Entwicklungsstrategie geworden und treibt viele Automatisierungen und Services an, wie etwa unseren Virtual TAC Engineer._“ -Deon Pillsbury – Cisco (Ref.)+Deon Pillsbury – Cisco (Ref.)--- ## FastAPI Mini-Dokumentarfilm { #fastapi-mini-documentary } -Es gibt einen FastAPI-Mini-Dokumentarfilm, veröffentlicht Ende 2025, Sie können ihn online ansehen: +Es gibt einen [FastAPI-Mini-Dokumentarfilm](https://www.youtube.com/watch?v=mpR8ngthqiE), veröffentlicht Ende 2025, Sie können ihn online ansehen: -+
## **Typer**, das FastAPI der CLIs { #typer-the-fastapi-of-clis } -
+
-Wenn Sie eine CLI-Anwendung für das Terminal erstellen, anstelle einer Web-API, schauen Sie sich **Typer** an. +Wenn Sie eine CLI-Anwendung für das Terminal erstellen, anstelle einer Web-API, schauen Sie sich [**Typer**](https://typer.tiangolo.com/) an. **Typer** ist die kleine Schwester von FastAPI. Und es soll das **FastAPI der CLIs** sein. ⌨️ 🚀 @@ -135,12 +135,12 @@ Wenn Sie eine Starlette für die Webanteile. -* Pydantic für die Datenanteile. +* [Starlette](https://www.starlette.dev/) für die Webanteile. +* [Pydantic](https://docs.pydantic.dev/) für die Datenanteile. ## Installation { #installation } -Erstellen und aktivieren Sie eine virtuelle Umgebung und installieren Sie dann FastAPI: +Erstellen und aktivieren Sie eine [virtuelle Umgebung](https://fastapi.tiangolo.com/de/virtual-environments/) und installieren Sie dann FastAPI:
@@ -199,7 +199,7 @@ async def read_item(item_id: int, q: str | None = None): **Hinweis**: -Wenn Sie das nicht kennen, schauen Sie sich den Abschnitt _„In Eile?“_ über `async` und `await` in der Dokumentation an. +Wenn Sie das nicht kennen, schauen Sie sich den Abschnitt _„In Eile?“_ über [`async` und `await` in der Dokumentation](https://fastapi.tiangolo.com/de/async/#in-a-hurry) an. @@ -210,7 +210,7 @@ Starten Sie den Server mit:```console -$ fastapi dev main.py +$ fastapi dev ╭────────── FastAPI CLI - Development mode ───────────╮ │ │ @@ -235,21 +235,21 @@ INFO: Application startup complete.-### Es testen { #check-it } -Öffnen Sie Ihren Browser unter http://127.0.0.1:8000/items/5?q=somequery. +Öffnen Sie Ihren Browser unter [http://127.0.0.1:8000/items/5?q=somequery](http://127.0.0.1:8000/items/5?q=somequery). -Sie sehen die JSON-Response als: +Sie sehen die JSON-Response als: ```JSON {"item_id": 5, "q": "somequery"} @@ -257,30 +257,30 @@ Sie sehen die JSON-Requests auf den _Pfaden_ `/` und `/items/{item_id}` entgegennimmt. +* HTTP-Requests auf den _Pfaden_ `/` und `/items/{item_id}` entgegennimmt. * Beide _Pfade_ nehmen `GET` Operationen (auch bekannt als HTTP-_Methoden_) entgegen. * Der _Pfad_ `/items/{item_id}` hat einen _Pfad-Parameter_ `item_id`, der ein `int` sein sollte. * Der _Pfad_ `/items/{item_id}` hat einen optionalen `str`-_Query-Parameter_ `q`. ### Interaktive API-Dokumentation { #interactive-api-docs } -Gehen Sie nun auf http://127.0.0.1:8000/docs. +Gehen Sie nun auf [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs). -Sie sehen die automatische interaktive API-Dokumentation (bereitgestellt von Swagger UI): +Sie sehen die automatische interaktive API-Dokumentation (bereitgestellt von [Swagger UI](https://github.com/swagger-api/swagger-ui)):  ### Alternative API-Dokumentation { #alternative-api-docs } -Und jetzt gehen Sie auf http://127.0.0.1:8000/redoc. +Und jetzt gehen Sie auf [http://127.0.0.1:8000/redoc](http://127.0.0.1:8000/redoc). -Sie sehen die alternative automatische Dokumentation (bereitgestellt von ReDoc): +Sie sehen die alternative automatische Dokumentation (bereitgestellt von [ReDoc](https://github.com/Rebilly/ReDoc)):  ## Beispielaktualisierung { #example-upgrade } -Ändern Sie jetzt die Datei `main.py`, um den Body eines `PUT`-Requests zu empfangen. +Ändern Sie jetzt die Datei `main.py`, um den Body eines `PUT`-Requests zu empfangen. Deklarieren Sie den Body mit Standard-Python-Typen, dank Pydantic. @@ -316,7 +316,7 @@ Der `fastapi dev`-Server sollte automatisch neu laden. ### Interaktive API-Dokumentation aktualisieren { #interactive-api-docs-upgrade } -Gehen Sie jetzt auf http://127.0.0.1:8000/docs. +Gehen Sie jetzt auf [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs). * Die interaktive API-Dokumentation wird automatisch aktualisiert, einschließlich des neuen Bodys: @@ -332,7 +332,7 @@ Gehen Sie jetzt auf http://127.0.0.1:8000/redoc. +Und jetzt gehen Sie auf [http://127.0.0.1:8000/redoc](http://127.0.0.1:8000/redoc). * Die alternative Dokumentation wird ebenfalls den neuen Query-Parameter und Body widerspiegeln: @@ -442,7 +442,7 @@ Für ein vollständigeres Beispiel, mit weiteren Funktionen, siehe das Dependency Injection**. * Sicherheit und Authentifizierung, einschließlich Unterstützung für **OAuth2** mit **JWT-Tokens** und **HTTP Basic** Authentifizierung. * Fortgeschrittenere (aber ebenso einfache) Techniken zur Deklaration **tief verschachtelter JSON-Modelle** (dank Pydantic). -* **GraphQL**-Integration mit Strawberry und anderen Bibliotheken. +* **GraphQL**-Integration mit [Strawberry](https://strawberry.rocks) und anderen Bibliotheken. * Viele zusätzliche Features (dank Starlette) wie: * **WebSockets** * extrem einfache Tests auf Basis von HTTPX und `pytest` @@ -452,24 +452,10 @@ Für ein vollständigeres Beispiel, mit weiteren Funktionen, siehe das FastAPI Cloud deployen, gehen Sie und treten Sie der Warteliste bei, falls noch nicht geschehen. 🚀 +Optional können Sie Ihre FastAPI-App in die [FastAPI Cloud](https://fastapicloud.com) deployen, gehen Sie und treten Sie der Warteliste bei, falls noch nicht geschehen. 🚀 Wenn Sie bereits ein **FastAPI Cloud**-Konto haben (wir haben Sie von der Warteliste eingeladen 😉), können Sie Ihre Anwendung mit einem einzigen Befehl deployen. -Stellen Sie vor dem Deployen sicher, dass Sie eingeloggt sind: - -Über den Befehl
+fastapi dev main.py...Über den Befehl
Der Befehl `fastapi dev` liest Ihre `main.py`-Datei, erkennt die **FastAPI**-App darin und startet einen Server mit Uvicorn. Standardmäßig wird `fastapi dev` mit aktiviertem Auto-Reload für die lokale Entwicklung gestartet. -Sie können mehr darüber in der FastAPI CLI Dokumentation lesen. +Sie können mehr darüber in der [FastAPI CLI Dokumentation](https://fastapi.tiangolo.com/de/fastapi-cli/) lesen.fastapi dev...- -```console -$ fastapi login - -You are logged in to FastAPI Cloud 🚀 -``` - -- -Stellen Sie dann Ihre App bereit: -```console @@ -488,7 +474,7 @@ Das war’s! Jetzt können Sie unter dieser URL auf Ihre App zugreifen. ✨ #### Über FastAPI Cloud { #about-fastapi-cloud } -**FastAPI Cloud** wird vom selben Autor und Team hinter **FastAPI** entwickelt. +**[FastAPI Cloud](https://fastapicloud.com)** wird vom selben Autor und Team hinter **FastAPI** entwickelt. Es vereinfacht den Prozess des **Erstellens**, **Deployens** und **Zugreifens** auf eine API mit minimalem Aufwand. @@ -504,9 +490,9 @@ Folgen Sie den Anleitungen Ihres Cloudanbieters, um FastAPI-Apps dort bereitzust ## Performanz { #performance } -Unabhängige TechEmpower-Benchmarks zeigen **FastAPI**-Anwendungen, die unter Uvicorn laufen, als eines der schnellsten verfügbaren Python-Frameworks, nur hinter Starlette und Uvicorn selbst (intern von FastAPI verwendet). (*) +Unabhängige TechEmpower-Benchmarks zeigen **FastAPI**-Anwendungen, die unter Uvicorn laufen, als [eines der schnellsten verfügbaren Python-Frameworks](https://www.techempower.com/benchmarks/#section=test&runid=7464e520-0dc2-473d-bd34-dbdfd7e85911&hw=ph&test=query&l=zijzen-7), nur hinter Starlette und Uvicorn selbst (intern von FastAPI verwendet). (*) -Um mehr darüber zu erfahren, siehe den Abschnitt Benchmarks. +Um mehr darüber zu erfahren, siehe den Abschnitt [Benchmarks](https://fastapi.tiangolo.com/de/benchmarks/). ## Abhängigkeiten { #dependencies } @@ -518,19 +504,19 @@ Wenn Sie FastAPI mit `pip install "fastapi[standard]"` installieren, kommt es mi Verwendet von Pydantic: -*email-validator– für E-Mail-Validierung. +* [`email-validator`](https://github.com/JoshData/python-email-validator) – für E-Mail-Validierung. Verwendet von Starlette: -*httpx– erforderlich, wenn Sie den `TestClient` verwenden möchten. -*jinja2– erforderlich, wenn Sie die Default-Template-Konfiguration verwenden möchten. -*python-multipart– erforderlich, wenn Sie Formulare mittels `request.form()` „parsen“ möchten. +* [`httpx`](https://www.python-httpx.org) – erforderlich, wenn Sie den `TestClient` verwenden möchten. +* [`jinja2`](https://jinja.palletsprojects.com) – erforderlich, wenn Sie die Default-Template-Konfiguration verwenden möchten. +* [`python-multipart`](https://github.com/Kludex/python-multipart) – erforderlich, wenn Sie Formulare mittels `request.form()` „parsen“ möchten. Verwendet von FastAPI: -*uvicorn– für den Server, der Ihre Anwendung lädt und bereitstellt. Dies umfasst `uvicorn[standard]`, das einige Abhängigkeiten (z. B. `uvloop`) beinhaltet, die für eine Bereitstellung mit hoher Performanz benötigt werden. +* [`uvicorn`](https://www.uvicorn.dev) – für den Server, der Ihre Anwendung lädt und bereitstellt. Dies umfasst `uvicorn[standard]`, das einige Abhängigkeiten (z. B. `uvloop`) beinhaltet, die für eine Bereitstellung mit hoher Performanz benötigt werden. * `fastapi-cli[standard]` – um den `fastapi`-Befehl bereitzustellen. - * Dies beinhaltet `fastapi-cloud-cli`, das es Ihnen ermöglicht, Ihre FastAPI-Anwendung auf FastAPI Cloud bereitzustellen. + * Dies beinhaltet `fastapi-cloud-cli`, das es Ihnen ermöglicht, Ihre FastAPI-Anwendung auf [FastAPI Cloud](https://fastapicloud.com) bereitzustellen. ### Ohne `standard`-Abhängigkeiten { #without-standard-dependencies } @@ -546,13 +532,13 @@ Es gibt einige zusätzliche Abhängigkeiten, die Sie installieren möchten. Zusätzliche optionale Pydantic-Abhängigkeiten: -*pydantic-settings– für die Verwaltung von Einstellungen. -*pydantic-extra-types– für zusätzliche Typen zur Verwendung mit Pydantic. +* [`pydantic-settings`](https://docs.pydantic.dev/latest/usage/pydantic_settings/) – für die Verwaltung von Einstellungen. +* [`pydantic-extra-types`](https://docs.pydantic.dev/latest/usage/types/extra_types/extra_types/) – für zusätzliche Typen zur Verwendung mit Pydantic. Zusätzliche optionale FastAPI-Abhängigkeiten: -*orjson– erforderlich, wenn Sie `ORJSONResponse` verwenden möchten. -*ujson– erforderlich, wenn Sie `UJSONResponse` verwenden möchten. +* [`orjson`](https://github.com/ijl/orjson) – erforderlich, wenn Sie `ORJSONResponse` verwenden möchten. +* [`ujson`](https://github.com/esnme/ultrajson) – erforderlich, wenn Sie `UJSONResponse` verwenden möchten. ## Lizenz { #license } diff --git a/docs/de/docs/project-generation.md b/docs/de/docs/project-generation.md index 2c252933d9..fd754906a6 100644 --- a/docs/de/docs/project-generation.md +++ b/docs/de/docs/project-generation.md @@ -4,7 +4,7 @@ Vorlagen, die normalerweise mit einem bestimmten Setup geliefert werden, sind so Sie können diese Vorlage verwenden, um loszulegen, da sie bereits vieles der anfänglichen Einrichtung, Sicherheit, Datenbank und einige API-Endpunkte für Sie eingerichtet hat. -GitHub-Repository: Full Stack FastAPI Template +GitHub-Repository: [Full Stack FastAPI Template](https://github.com/tiangolo/full-stack-fastapi-template) ## Full Stack FastAPI Template – Technologiestack und Funktionen { #full-stack-fastapi-template-technology-stack-and-features } diff --git a/docs/de/docs/virtual-environments.md b/docs/de/docs/virtual-environments.md index 621b4b1110..c008ec14c6 100644 --- a/docs/de/docs/virtual-environments.md +++ b/docs/de/docs/virtual-environments.md @@ -22,7 +22,7 @@ Eine **virtuelle Umgebung** ist ein Verzeichnis mit einigen Dateien darin. Diese Seite wird Ihnen beibringen, wie Sie **virtuelle Umgebungen** verwenden und wie sie funktionieren. -Wenn Sie bereit sind, ein **Tool zu verwenden, das alles für Sie verwaltet** (einschließlich der Installation von Python), probieren Sie uv. +Wenn Sie bereit sind, ein **Tool zu verwenden, das alles für Sie verwaltet** (einschließlich der Installation von Python), probieren Sie [uv](https://github.com/astral-sh/uv). /// @@ -86,7 +86,7 @@ $ python -m venv .venv //// tab | `uv` -Wenn Sie `uv` installiert haben, können Sie es verwenden, um eine virtuelle Umgebung zu erstellen. +Wenn Sie [`uv`](https://github.com/astral-sh/uv) installiert haben, können Sie es verwenden, um eine virtuelle Umgebung zu erstellen.@@ -150,7 +150,7 @@ $ .venv\Scripts\Activate.ps1 //// tab | Windows Bash -Oder wenn Sie Bash für Windows verwenden (z. B. Git Bash): +Oder wenn Sie Bash für Windows verwenden (z. B. [Git Bash](https://gitforwindows.org/)):@@ -216,7 +216,7 @@ Wenn es das `python`-Binary in `.venv\Scripts\python` anzeigt, innerhalb Ihres P /// tip | Tipp -Wenn Sie `uv` verwenden, würden Sie das verwenden, um Dinge zu installieren anstelle von `pip`, sodass Sie `pip` nicht aktualisieren müssen. 😎 +Wenn Sie [`uv`](https://github.com/astral-sh/uv) verwenden, würden Sie das verwenden, um Dinge zu installieren anstelle von `pip`, sodass Sie `pip` nicht aktualisieren müssen. 😎 /// @@ -268,7 +268,7 @@ Wenn Sie **Git** verwenden (was Sie sollten), fügen Sie eine `.gitignore`-Datei /// tip | Tipp -Wenn Sie `uv` verwendet haben, um die virtuelle Umgebung zu erstellen, hat es dies bereits für Sie getan, Sie können diesen Schritt überspringen. 😎 +Wenn Sie [`uv`](https://github.com/astral-sh/uv) verwendet haben, um die virtuelle Umgebung zu erstellen, hat es dies bereits für Sie getan, Sie können diesen Schritt überspringen. 😎 /// @@ -340,7 +340,7 @@ $ pip install "fastapi[standard]" //// tab | `uv` -Wenn Sie `uv` haben: +Wenn Sie [`uv`](https://github.com/astral-sh/uv) haben:@@ -372,7 +372,7 @@ $ pip install -r requirements.txt //// tab | `uv` -Wenn Sie `uv` haben: +Wenn Sie [`uv`](https://github.com/astral-sh/uv) haben:@@ -416,8 +416,8 @@ Sie würden wahrscheinlich einen Editor verwenden, stellen Sie sicher, dass Sie Zum Beispiel: -* VS Code -* PyCharm +* [VS Code](https://code.visualstudio.com/docs/python/environments#_select-and-activate-an-environment) +* [PyCharm](https://www.jetbrains.com/help/pycharm/creating-virtual-environment.html) /// tip | Tipp @@ -453,7 +453,7 @@ Lesen Sie weiter. 👇🤓 ## Warum virtuelle Umgebungen { #why-virtual-environments } -Um mit FastAPI zu arbeiten, müssen Sie Python installieren. +Um mit FastAPI zu arbeiten, müssen Sie [Python](https://www.python.org/) installieren. Danach müssen Sie FastAPI und alle anderen Pakete, die Sie verwenden möchten, **installieren**. @@ -562,7 +562,7 @@ $ pip install "fastapi[standard]"-Das lädt eine komprimierte Datei mit dem FastAPI-Code herunter, normalerweise von PyPI. +Das lädt eine komprimierte Datei mit dem FastAPI-Code herunter, normalerweise von [PyPI](https://pypi.org/project/fastapi/). Es wird auch Dateien für andere Pakete **herunterladen**, von denen FastAPI abhängt. @@ -625,7 +625,7 @@ $ .venv\Scripts\Activate.ps1 //// tab | Windows Bash -Oder wenn Sie Bash für Windows verwenden (z. B. Git Bash): +Oder wenn Sie Bash für Windows verwenden (z. B. [Git Bash](https://gitforwindows.org/)):@@ -637,13 +637,13 @@ $ source .venv/Scripts/activate //// -Dieser Befehl erstellt oder ändert einige [Umgebungsvariablen](environment-variables.md){.internal-link target=_blank}, die für die nächsten Befehle verfügbar sein werden. +Dieser Befehl erstellt oder ändert einige [Umgebungsvariablen](environment-variables.md), die für die nächsten Befehle verfügbar sein werden. Eine dieser Variablen ist die `PATH`-Umgebungsvariable. /// tip | Tipp -Sie können mehr über die `PATH`-Umgebungsvariable im Abschnitt [Umgebungsvariablen](environment-variables.md#path-environment-variable){.internal-link target=_blank} erfahren. +Sie können mehr über die `PATH`-Umgebungsvariable im Abschnitt [Umgebungsvariablen](environment-variables.md#path-environment-variable) erfahren. /// @@ -844,7 +844,7 @@ Dies ist ein einfacher Leitfaden, um Ihnen den Einstieg zu erleichtern und Ihnen Es gibt viele **Alternativen** zur Verwaltung von virtuellen Umgebungen, Paketabhängigkeiten (Anforderungen), Projekten. -Sobald Sie bereit sind und ein Tool verwenden möchten, das **das gesamte Projekt verwaltet**, Paketabhängigkeiten, virtuelle Umgebungen usw., würde ich Ihnen vorschlagen, uv auszuprobieren. +Sobald Sie bereit sind und ein Tool verwenden möchten, das **das gesamte Projekt verwaltet**, Paketabhängigkeiten, virtuelle Umgebungen usw., würde ich Ihnen vorschlagen, [uv](https://github.com/astral-sh/uv) auszuprobieren. `uv` kann viele Dinge tun, es kann: