Sync fastapi docs from d3e6a293 on 2026-06-11
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# LLM-Testdatei { #llm-test-file }
|
||||
|
||||
Dieses Dokument testet, ob das <abbr title="Large Language Model – Großes Sprachmodell">LLM</abbr>, das die Dokumentation übersetzt, den <abbr title="General Prompt – Allgemeiner Prompt">`general_prompt`</abbr> in `scripts/translate.py` und den sprachspezifischen Prompt in `docs/{language code}/llm-prompt.md` versteht. Der sprachsspezifische Prompt wird an `general_prompt` angehängt.
|
||||
Dieses Dokument testet, ob das <abbr title="Large Language Model - Großes Sprachmodell">LLM</abbr>, das die Dokumentation übersetzt, den <abbr title="General Prompt - Allgemeiner Prompt">`general_prompt`</abbr> in `scripts/translate.py` und den sprachspezifischen Prompt in `docs/{language code}/llm-prompt.md` versteht. Der sprachsspezifische Prompt wird an `general_prompt` angehängt.
|
||||
|
||||
Hier hinzugefügte Tests werden von allen Erstellern sprachsspezifischer Prompts gesehen.
|
||||
|
||||
@@ -95,7 +95,7 @@ $ <font color="#4E9A06">fastapi</font> run <u style="text-decoration-style:solid
|
||||
... und noch ein Konsolen-Codebeispiel ...
|
||||
|
||||
```console
|
||||
// Create a directory "Code"
|
||||
// Ein Verzeichnis "Code" erstellen
|
||||
$ mkdir code
|
||||
// In dieses Verzeichnis wechseln
|
||||
$ cd code
|
||||
@@ -124,10 +124,6 @@ Siehe Abschnitt `### Content of code blocks` im allgemeinen Prompt in `scripts/t
|
||||
|
||||
//// tab | Test
|
||||
|
||||
/// info | Info
|
||||
Etwas Text
|
||||
///
|
||||
|
||||
/// note | Hinweis
|
||||
Etwas Text
|
||||
///
|
||||
@@ -136,10 +132,6 @@ Etwas Text
|
||||
Etwas Text
|
||||
///
|
||||
|
||||
/// check | Testen
|
||||
Etwas Text
|
||||
///
|
||||
|
||||
/// tip | Tipp
|
||||
Etwas Text
|
||||
///
|
||||
@@ -197,15 +189,15 @@ Hier einige Dinge, die in HTML-„abbr“-Elemente gepackt sind (einige sind erf
|
||||
|
||||
### Das abbr gibt eine vollständige Phrase { #the-abbr-gives-a-full-phrase }
|
||||
|
||||
* <abbr title="Getting Things Done – Dinge erledigt bekommen">GTD</abbr>
|
||||
* <abbr title="less than – kleiner als"><code>lt</code></abbr>
|
||||
* <abbr title="Getting Things Done - Dinge erledigt bekommen">GTD</abbr>
|
||||
* <abbr title="less than - kleiner als"><code>lt</code></abbr>
|
||||
* <abbr title="XML Web Token">XWT</abbr>
|
||||
* <abbr title="Paralleles Server-Gateway-Interface">PSGI</abbr>
|
||||
|
||||
### Das abbr gibt eine vollständige Phrase und eine Erklärung { #the-abbr-gives-a-full-phrase-and-an-explanation }
|
||||
|
||||
* <abbr title="Mozilla Developer Network – Mozilla-Entwicklernetzwerk: Dokumentation für Entwickler, geschrieben von den Firefox-Leuten">MDN</abbr>
|
||||
* <abbr title="Input/Output – Eingabe/Ausgabe: Lesen oder Schreiben auf der Festplatte, Netzwerkkommunikation.">I/O</abbr>.
|
||||
* <abbr title="Mozilla Developer Network - Mozilla-Entwicklernetzwerk: Dokumentation für Entwickler, geschrieben von den Firefox-Leuten">MDN</abbr>
|
||||
* <abbr title="Input/Output - Eingabe/Ausgabe: Lesen oder Schreiben auf der Festplatte, Netzwerkkommunikation.">I/O</abbr>.
|
||||
|
||||
////
|
||||
|
||||
|
||||
@@ -30,7 +30,6 @@ Ihr Sponsoring zeigt auch ein starkes Engagement für die FastAPI-**Community**
|
||||
|
||||
Zum Beispiel könnten Sie ausprobieren:
|
||||
|
||||
* [Speakeasy](https://speakeasy.com/editor?utm_source=fastapi+repo&utm_medium=github+sponsorship)
|
||||
* [Stainless](https://www.stainless.com/?utm_source=fastapi&utm_medium=referral)
|
||||
* [liblab](https://developers.liblab.com/tutorials/sdk-for-fastapi?utm_source=fastapi)
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ Das Django REST Framework wurde von Tom Christie erstellt. Derselbe Schöpfer vo
|
||||
|
||||
///
|
||||
|
||||
/// check | Inspirierte **FastAPI**
|
||||
/// tip | Inspirierte **FastAPI** dazu
|
||||
|
||||
Eine automatische API-Dokumentationsoberfläche zu haben.
|
||||
|
||||
@@ -56,7 +56,7 @@ Diese Entkopplung der Teile und die Tatsache, dass es sich um ein „Mikroframew
|
||||
|
||||
Angesichts der Einfachheit von Flask schien es eine gute Ergänzung zum Erstellen von APIs zu sein. Als Nächstes musste ein „Django REST Framework“ für Flask gefunden werden.
|
||||
|
||||
/// check | Inspirierte **FastAPI**
|
||||
/// tip | Inspirierte **FastAPI** dazu
|
||||
|
||||
Ein Mikroframework zu sein. Es einfach zu machen, die benötigten Tools und Teile zu kombinieren.
|
||||
|
||||
@@ -98,7 +98,7 @@ def read_url():
|
||||
|
||||
Sehen Sie sich die Ähnlichkeiten in `requests.get(...)` und `@app.get(...)` an.
|
||||
|
||||
/// check | Inspirierte **FastAPI**
|
||||
/// tip | Inspirierte **FastAPI** dazu
|
||||
|
||||
* Über eine einfache und intuitive API zu verfügen.
|
||||
* HTTP-Methodennamen (Operationen) direkt, auf einfache und intuitive Weise zu verwenden.
|
||||
@@ -118,7 +118,7 @@ Irgendwann wurde Swagger an die Linux Foundation übergeben und in OpenAPI umben
|
||||
|
||||
Aus diesem Grund spricht man bei Version 2.0 häufig von „Swagger“ und ab Version 3 von „OpenAPI“.
|
||||
|
||||
/// check | Inspirierte **FastAPI**
|
||||
/// tip | Inspirierte **FastAPI** dazu
|
||||
|
||||
Einen offenen Standard für API-Spezifikationen zu übernehmen und zu verwenden, anstelle eines benutzerdefinierten Schemas.
|
||||
|
||||
@@ -147,7 +147,7 @@ Für diese Funktionen wurde Marshmallow entwickelt. Es ist eine großartige Bibl
|
||||
|
||||
Aber sie wurde erstellt, bevor Typhinweise in Python existierten. Um also ein <dfn title="die Definition, wie Daten geformt sein sollen">Schema</dfn> zu definieren, müssen Sie bestimmte Werkzeuge und Klassen verwenden, die von Marshmallow bereitgestellt werden.
|
||||
|
||||
/// check | Inspirierte **FastAPI**
|
||||
/// tip | Inspirierte **FastAPI** dazu
|
||||
|
||||
Code zu verwenden, um „Schemas“ zu definieren, welche Datentypen und Validierung automatisch bereitstellen.
|
||||
|
||||
@@ -163,13 +163,13 @@ Es verwendet unter der Haube Marshmallow, um die Datenvalidierung durchzuführen
|
||||
|
||||
Es ist ein großartiges Tool und ich habe es auch oft verwendet, bevor ich **FastAPI** hatte.
|
||||
|
||||
/// info | Info
|
||||
/// note | Hinweis
|
||||
|
||||
Webargs wurde von denselben Marshmallow-Entwicklern erstellt.
|
||||
|
||||
///
|
||||
|
||||
/// check | Inspirierte **FastAPI**
|
||||
/// tip | Inspirierte **FastAPI** dazu
|
||||
|
||||
Eingehende Requestdaten automatisch zu validieren.
|
||||
|
||||
@@ -193,13 +193,13 @@ Aber dann haben wir wieder das Problem einer Mikrosyntax innerhalb eines Python-
|
||||
|
||||
Der Texteditor kann dabei nicht viel helfen. Und wenn wir Parameter oder Marshmallow-Schemas ändern und vergessen, auch den YAML-Docstring zu ändern, wäre das generierte Schema veraltet.
|
||||
|
||||
/// info | Info
|
||||
/// note | Hinweis
|
||||
|
||||
APISpec wurde von denselben Marshmallow-Entwicklern erstellt.
|
||||
|
||||
///
|
||||
|
||||
/// check | Inspirierte **FastAPI**
|
||||
/// tip | Inspirierte **FastAPI** dazu
|
||||
|
||||
Den offenen Standard für APIs, OpenAPI, zu unterstützen.
|
||||
|
||||
@@ -225,13 +225,13 @@ Die Verwendung führte zur Entwicklung mehrerer Flask-Full-Stack-Generatoren. Di
|
||||
|
||||
Und dieselben Full-Stack-Generatoren bildeten die Basis der [**FastAPI**-Projektgeneratoren](project-generation.md).
|
||||
|
||||
/// info | Info
|
||||
/// note | Hinweis
|
||||
|
||||
Flask-apispec wurde von denselben Marshmallow-Entwicklern erstellt.
|
||||
|
||||
///
|
||||
|
||||
/// check | Inspirierte **FastAPI**
|
||||
/// tip | Inspirierte **FastAPI** dazu
|
||||
|
||||
Das OpenAPI-Schema automatisch zu generieren, aus demselben Code, welcher die Serialisierung und Validierung definiert.
|
||||
|
||||
@@ -251,7 +251,7 @@ Da TypeScript-Daten jedoch nach der Kompilierung nach JavaScript nicht erhalten
|
||||
|
||||
Es kann nicht sehr gut mit verschachtelten Modellen umgehen. Wenn es sich beim JSON-Body im Request also um ein JSON-Objekt mit inneren Feldern handelt, die wiederum verschachtelte JSON-Objekte sind, kann er nicht richtig dokumentiert und validiert werden.
|
||||
|
||||
/// check | Inspirierte **FastAPI**
|
||||
/// tip | Inspirierte **FastAPI** dazu
|
||||
|
||||
Python-Typen zu verwenden, um eine hervorragende Editorunterstützung zu erhalten.
|
||||
|
||||
@@ -271,7 +271,7 @@ Hat eindeutig Uvicorn und Starlette inspiriert, welche derzeit in offenen Benchm
|
||||
|
||||
///
|
||||
|
||||
/// check | Inspirierte **FastAPI**
|
||||
/// tip | Inspirierte **FastAPI** dazu
|
||||
|
||||
Einen Weg zu finden, eine hervorragende Performanz zu haben.
|
||||
|
||||
@@ -287,7 +287,7 @@ Es ist so konzipiert, dass es über Funktionen verfügt, welche zwei Parameter e
|
||||
|
||||
Daher müssen Datenvalidierung, Serialisierung und Dokumentation im Code und nicht automatisch erfolgen. Oder sie müssen als Framework oberhalb von Falcon implementiert werden, so wie Hug. Dieselbe Unterscheidung findet auch in anderen Frameworks statt, die vom Design von Falcon inspiriert sind und ein Requestobjekt und ein Responseobjekt als Parameter haben.
|
||||
|
||||
/// check | Inspirierte **FastAPI**
|
||||
/// tip | Inspirierte **FastAPI** dazu
|
||||
|
||||
Wege zu finden, eine großartige Performanz zu erzielen.
|
||||
|
||||
@@ -313,7 +313,7 @@ Das Dependency Injection System erfordert eine Vorab-Registrierung der Abhängig
|
||||
|
||||
Routen werden an einer einzigen Stelle deklariert, indem Funktionen verwendet werden, die an anderen Stellen deklariert wurden (anstatt Dekoratoren zu verwenden, welche direkt über der Funktion platziert werden können, welche den Endpunkt verarbeitet). Dies ähnelt eher der Vorgehensweise von Django als der Vorgehensweise von Flask (und Starlette). Es trennt im Code Dinge, die relativ eng miteinander gekoppelt sind.
|
||||
|
||||
/// check | Inspirierte **FastAPI**
|
||||
/// tip | Inspirierte **FastAPI** dazu
|
||||
|
||||
Zusätzliche Validierungen für Datentypen zu definieren, mithilfe des „Default“-Werts von Modellattributen. Dies verbessert die Editorunterstützung und war zuvor in Pydantic nicht verfügbar.
|
||||
|
||||
@@ -335,13 +335,13 @@ Es verfügt über eine interessante, ungewöhnliche Funktion: Mit demselben Fram
|
||||
|
||||
Da es auf dem bisherigen Standard für synchrone Python-Webframeworks (WSGI) basiert, kann es nicht mit Websockets und anderen Dingen umgehen, verfügt aber dennoch über eine hohe Performanz.
|
||||
|
||||
/// info | Info
|
||||
/// note | Hinweis
|
||||
|
||||
Hug wurde von Timothy Crosley erstellt, demselben Schöpfer von [`isort`](https://github.com/timothycrosley/isort), einem großartigen Tool zum automatischen Sortieren von Importen in Python-Dateien.
|
||||
|
||||
///
|
||||
|
||||
/// check | Ideen, die **FastAPI** inspiriert haben
|
||||
/// tip | Ideen, die **FastAPI** inspiriert haben
|
||||
|
||||
Hug inspirierte Teile von APIStar und war eines der Tools, die ich am vielversprechendsten fand, neben APIStar.
|
||||
|
||||
@@ -375,7 +375,7 @@ Es handelte sich nicht länger um ein API-Webframework, da sich der Entwickler a
|
||||
|
||||
Jetzt handelt es sich bei APIStar um eine Reihe von Tools zur Validierung von OpenAPI-Spezifikationen, nicht um ein Webframework.
|
||||
|
||||
/// info | Info
|
||||
/// note | Hinweis
|
||||
|
||||
APIStar wurde von Tom Christie erstellt. Derselbe, welcher Folgendes erstellt hat:
|
||||
|
||||
@@ -385,7 +385,7 @@ APIStar wurde von Tom Christie erstellt. Derselbe, welcher Folgendes erstellt ha
|
||||
|
||||
///
|
||||
|
||||
/// check | Inspirierte **FastAPI**
|
||||
/// tip | Inspirierte **FastAPI** dazu
|
||||
|
||||
Zu existieren.
|
||||
|
||||
@@ -409,7 +409,7 @@ Das macht es äußerst intuitiv.
|
||||
|
||||
Es ist vergleichbar mit Marshmallow. Obwohl es in Benchmarks schneller als Marshmallow ist. Und da es auf den gleichen Python-Typhinweisen basiert, ist die Editorunterstützung großartig.
|
||||
|
||||
/// check | **FastAPI** verwendet es, um
|
||||
/// tip | **FastAPI** verwendet es, um
|
||||
|
||||
Die gesamte Datenvalidierung, Datenserialisierung und automatische Modelldokumentation (basierend auf JSON Schema) zu erledigen.
|
||||
|
||||
@@ -452,7 +452,7 @@ Dennoch wird es bereits von mehreren Tools als „Standard“ verwendet. Das ver
|
||||
|
||||
///
|
||||
|
||||
/// check | **FastAPI** verwendet es, um
|
||||
/// tip | **FastAPI** verwendet es, um
|
||||
|
||||
Alle Kern-Webaspekte zu handhaben. Und fügt Funktionen obenauf.
|
||||
|
||||
@@ -470,7 +470,7 @@ Es handelt sich nicht um ein Webframework, sondern um einen Server. Beispielswei
|
||||
|
||||
Es ist der empfohlene Server für Starlette und **FastAPI**.
|
||||
|
||||
/// check | **FastAPI** empfiehlt es als
|
||||
/// tip | **FastAPI** empfiehlt es als
|
||||
|
||||
Hauptwebserver zum Ausführen von **FastAPI**-Anwendungen.
|
||||
|
||||
|
||||
@@ -139,7 +139,7 @@ Sie und Ihr Schwarm essen die Burger und haben eine schöne Zeit. ✨
|
||||
|
||||
<img src="/img/async/concurrent-burgers/concurrent-burgers-07.png" class="illustration">
|
||||
|
||||
/// info | Info
|
||||
/// note | Hinweis
|
||||
|
||||
Die wunderschönen Illustrationen stammen von [Ketrina Thompson](https://www.instagram.com/ketrinadrawsalot). 🎨
|
||||
|
||||
@@ -205,7 +205,7 @@ Sie essen sie und sind fertig. ⏹
|
||||
|
||||
Es wurde nicht viel geredet oder geflirtet, da die meiste Zeit mit Warten 🕙 vor der Theke verbracht wurde. 😞
|
||||
|
||||
/// info | Info
|
||||
/// note | Hinweis
|
||||
|
||||
Die wunderschönen Illustrationen stammen von [Ketrina Thompson](https://www.instagram.com/ketrinadrawsalot). 🎨
|
||||
|
||||
|
||||
@@ -95,7 +95,7 @@ was gleichbedeutend wäre mit:
|
||||
from backend.main import app
|
||||
```
|
||||
|
||||
### `fastapi dev` mit Pfad { #fastapi-dev-with-path }
|
||||
### `fastapi dev` mit Pfad oder mit der CLI-Option `--entrypoint` { #fastapi-dev-with-path-or-with-entrypoint-cli-option }
|
||||
|
||||
Sie können auch den Dateipfad an den Befehl `fastapi dev` übergeben, dann wird das zu verwendende FastAPI-App-Objekt erraten:
|
||||
|
||||
@@ -103,7 +103,13 @@ Sie können auch den Dateipfad an den Befehl `fastapi dev` übergeben, dann wird
|
||||
$ fastapi dev main.py
|
||||
```
|
||||
|
||||
Aber Sie müssten sich merken, bei jedem Aufruf des `fastapi`-Befehls den korrekten Pfad zu übergeben.
|
||||
Oder Sie können auch die Option `--entrypoint` an den Befehl `fastapi dev` übergeben:
|
||||
|
||||
```console
|
||||
$ fastapi dev --entrypoint main:app
|
||||
```
|
||||
|
||||
Aber Sie müssten sich merken, bei jedem Aufruf des `fastapi`-Befehls den korrekten Pfad\entrypoint zu übergeben.
|
||||
|
||||
Zusätzlich könnten andere Tools sie nicht finden, z. B. die [VS Code Extension](editor-support.md) oder [FastAPI Cloud](https://fastapicloud.com), daher wird empfohlen, den `entrypoint` in `pyproject.toml` zu verwenden.
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ second_user_data = {
|
||||
my_second_user: User = User(**second_user_data)
|
||||
```
|
||||
|
||||
/// info | Info
|
||||
/// note | Hinweis
|
||||
|
||||
`**second_user_data` bedeutet:
|
||||
|
||||
|
||||
+29
-198
@@ -1,18 +1,12 @@
|
||||
# FastAPI helfen – Hilfe erhalten { #help-fastapi-get-help }
|
||||
# Helfen { #help }
|
||||
|
||||
Mögen Sie **FastAPI**?
|
||||
Möchten Sie FastAPI helfen oder Hilfe zu FastAPI erhalten?
|
||||
|
||||
Möchten Sie FastAPI, anderen Benutzern und dem Autor helfen?
|
||||
|
||||
Oder möchten Sie Hilfe zu **FastAPI** erhalten?
|
||||
|
||||
Es gibt sehr einfache Möglichkeiten zu helfen (einige erfordern nur ein oder zwei Klicks).
|
||||
|
||||
Und es gibt auch mehrere Möglichkeiten, Hilfe zu bekommen.
|
||||
Es gibt sehr einfache Möglichkeiten, zu helfen und Hilfe zu bekommen.
|
||||
|
||||
## Newsletter abonnieren { #subscribe-to-the-newsletter }
|
||||
|
||||
Sie können den (unregelmäßigen) [**FastAPI and friends**-Newsletter](newsletter.md) abonnieren, um über folgende Themen informiert zu bleiben:
|
||||
Sie können den (unregelmäßigen) [**FastAPI and friends**-Newsletter](newsletter.md) abonnieren, um über Folgendes informiert zu bleiben:
|
||||
|
||||
* Neuigkeiten über FastAPI und Freunde 🚀
|
||||
* Anleitungen 📝
|
||||
@@ -20,9 +14,13 @@ Sie können den (unregelmäßigen) [**FastAPI and friends**-Newsletter](newslett
|
||||
* Breaking Changes 🚨
|
||||
* Tipps und Tricks ✅
|
||||
|
||||
## FastAPI auf X (Twitter) folgen { #follow-fastapi-on-x-twitter }
|
||||
## FastAPI online folgen { #follow-fastapi-online }
|
||||
|
||||
[Folgen Sie @fastapi auf **X (Twitter)**](https://x.com/fastapi), um die neuesten Nachrichten über **FastAPI** zu erhalten. 🐦
|
||||
Sie können **FastAPI** an mehreren Orten online folgen:
|
||||
|
||||
* [@fastapi auf **X / Twitter**](https://x.com/fastapi)
|
||||
* [@fastapi.tiangolo.com auf **Bluesky**](https://bsky.app/profile/fastapi.tiangolo.com)
|
||||
* [FastAPI auf **LinkedIn**](https://www.linkedin.com/company/fastapi/)
|
||||
|
||||
## **FastAPI** auf GitHub einen Stern geben { #star-fastapi-in-github }
|
||||
|
||||
@@ -30,200 +28,43 @@ Sie können FastAPI auf GitHub „starren“ (klicken Sie auf den Stern-Button o
|
||||
|
||||
Durch das Hinzufügen eines Sterns können andere Benutzer es leichter finden und sehen, dass es für andere bereits nützlich war.
|
||||
|
||||
## Das GitHub-Repository auf Releases überwachen { #watch-the-github-repository-for-releases }
|
||||
## Das GitHub-Repository auf Releases beobachten { #watch-the-github-repository-for-releases }
|
||||
|
||||
Sie können FastAPI auf GitHub „beobachten“ (klicken Sie auf den „watch“-Button oben rechts): [https://github.com/fastapi/fastapi](https://github.com/fastapi/fastapi). 👀
|
||||
Sie können FastAPI auf GitHub „beobachten“ (klicken Sie auf den „Watch“-Button oben rechts): [https://github.com/fastapi/fastapi](https://github.com/fastapi/fastapi). 👀
|
||||
|
||||
Dort können Sie „Releases only“ auswählen.
|
||||
|
||||
Auf diese Weise erhalten Sie Benachrichtigungen (per E-Mail), wenn es ein neues Release (eine neue Version) von **FastAPI** mit Bugfixes und neuen Funktionen gibt.
|
||||
Auf diese Weise erhalten Sie Benachrichtigungen (per E‑Mail), wenn es ein neues Release (eine neue Version) von **FastAPI** mit Bugfixes und neuen Funktionen gibt.
|
||||
|
||||
## Mit dem Autor vernetzen { #connect-with-the-author }
|
||||
## Dem Autor folgen { #follow-the-author }
|
||||
|
||||
Sie können sich mit [mir (Sebastián Ramírez / `tiangolo`)](https://tiangolo.com), dem Autor, vernetzen.
|
||||
Sie können [mir (Sebastián Ramírez / `tiangolo`)](https://tiangolo.com), dem Autor, an einigen Orten folgen, um mitzubekommen, wenn ich Neuigkeiten zu FastAPI und Freunden habe:
|
||||
|
||||
Sie können:
|
||||
|
||||
* [Mir auf **GitHub** folgen](https://github.com/tiangolo).
|
||||
* Andere Open-Source-Projekte sehen, die ich erstellt habe und die Ihnen helfen könnten.
|
||||
* Mir folgen, um zu sehen, wenn ich ein neues Open-Source-Projekt erstelle.
|
||||
* [Mir auf **X (Twitter)** folgen](https://x.com/tiangolo) oder [Mastodon](https://fosstodon.org/@tiangolo).
|
||||
* Mir mitteilen, wie Sie FastAPI verwenden (ich höre das gerne).
|
||||
* Mitbekommen, wenn ich Ankündigungen mache oder neue Tools veröffentliche.
|
||||
* Sie können auch [@fastapi auf X (Twitter) folgen](https://x.com/fastapi) (ein separates Konto).
|
||||
* [Mir auf **LinkedIn** folgen](https://www.linkedin.com/in/tiangolo/).
|
||||
* Mitbekommen, wenn ich Ankündigungen mache oder neue Tools veröffentliche (obwohl ich X (Twitter) häufiger verwende 🤷♂).
|
||||
* Lesen, was ich schreibe (oder mir folgen) auf [**Dev.to**](https://dev.to/tiangolo) oder [**Medium**](https://medium.com/@tiangolo).
|
||||
* Andere Ideen, Artikel lesen und mehr über die von mir erstellten Tools erfahren.
|
||||
* Mir folgen, um zu lesen, wenn ich etwas Neues veröffentliche.
|
||||
|
||||
## Über **FastAPI** tweeten { #tweet-about-fastapi }
|
||||
|
||||
[Tweeten Sie über **FastAPI**](https://x.com/compose/tweet?text=I'm loving @fastapi because... https://github.com/fastapi/fastapi) und teilen Sie mir und anderen mit, warum es Ihnen gefällt. 🎉
|
||||
|
||||
Ich höre gerne, wie **FastAPI** verwendet wird, was Ihnen daran gefallen hat, in welchem Projekt/Unternehmen Sie es verwenden, usw.
|
||||
|
||||
## Für FastAPI abstimmen { #vote-for-fastapi }
|
||||
|
||||
* [Stimmen Sie für **FastAPI** auf Slant](https://www.slant.co/options/34241/~fastapi-review).
|
||||
* [Stimmen Sie für **FastAPI** auf AlternativeTo](https://alternativeto.net/software/fastapi/about/).
|
||||
* [Sagen Sie auf StackShare, dass Sie **FastAPI** verwenden](https://stackshare.io/pypi-fastapi).
|
||||
* [@tiangolo auf **GitHub**](https://github.com/tiangolo).
|
||||
* [@tiangolo auf **X (Twitter)**](https://x.com/tiangolo)
|
||||
* [@tiangolo.com auf **Bluesky**](https://bsky.app/profile/tiangolo.com)
|
||||
* [@tiangolo auf **LinkedIn**](https://www.linkedin.com/in/tiangolo/).
|
||||
|
||||
## Anderen bei Fragen auf GitHub helfen { #help-others-with-questions-in-github }
|
||||
|
||||
Sie können versuchen, anderen bei ihren Fragen zu helfen:
|
||||
|
||||
* [GitHub-Diskussionen](https://github.com/fastapi/fastapi/discussions/categories/questions?discussions_q=category%3AQuestions+is%3Aunanswered)
|
||||
* [GitHub-Issues](https://github.com/fastapi/fastapi/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Aquestion+-label%3Aanswered+)
|
||||
Sie können versuchen, anderen bei ihren Fragen in [GitHub-Diskussionen](https://github.com/fastapi/fastapi/discussions/categories/questions?discussions_q=category%3AQuestions+is%3Aunanswered) zu helfen.
|
||||
|
||||
In vielen Fällen kennen Sie möglicherweise bereits die Antwort auf diese Fragen. 🤓
|
||||
|
||||
Wenn Sie vielen Menschen bei ihren Fragen helfen, werden Sie offizieller [FastAPI-Experte](fastapi-people.md#fastapi-experts). 🎉
|
||||
|
||||
Denken Sie daran, der wichtigste Punkt ist: Versuchen Sie, freundlich zu sein. Die Leute bringen ihre Frustrationen mit und fragen in vielen Fällen nicht auf die beste Art und Weise, aber versuchen Sie dennoch so gut wie möglich, freundlich zu sein. 🤗
|
||||
Denken Sie daran, der wichtigste Punkt ist: Versuchen Sie, freundlich zu sein. 🤗
|
||||
|
||||
Die **FastAPI**-Community soll freundlich und einladend sein. Akzeptieren Sie gleichzeitig kein Mobbing oder respektloses Verhalten gegenüber anderen. Wir müssen uns umeinander kümmern.
|
||||
### So helfen { #how-to-help }
|
||||
|
||||
---
|
||||
|
||||
So helfen Sie anderen bei Fragen (in Diskussionen oder Issues):
|
||||
|
||||
### Die Frage verstehen { #understand-the-question }
|
||||
|
||||
* Prüfen Sie, ob Sie verstehen können, was der **Zweck** und der Anwendungsfall der fragenden Person ist.
|
||||
|
||||
* Überprüfen Sie dann, ob die Frage (die überwiegende Mehrheit sind Fragen) **klar** ist.
|
||||
|
||||
* In vielen Fällen handelt es sich bei der gestellten Frage um eine Lösung, die der Benutzer sich vorstellt, aber es könnte eine **bessere** Lösung geben. Wenn Sie das Problem und den Anwendungsfall besser verstehen, können Sie eine bessere **Alternativlösung** vorschlagen.
|
||||
|
||||
* Wenn Sie die Frage nicht verstehen können, fragen Sie nach weiteren **Details**.
|
||||
|
||||
### Das Problem reproduzieren { #reproduce-the-problem }
|
||||
|
||||
In den meisten Fällen und bei den meisten Fragen gibt es etwas in Bezug auf den **originalen Code** der Person.
|
||||
|
||||
In vielen Fällen wird nur ein Fragment des Codes gepostet, aber das reicht nicht aus, um **das Problem zu reproduzieren**.
|
||||
|
||||
* Sie können die Person bitten, ein [minimales, reproduzierbares Beispiel](https://stackoverflow.com/help/minimal-reproducible-example) bereitzustellen, welches Sie **kopieren, einfügen** und lokal ausführen können, um den gleichen Fehler oder das gleiche Verhalten zu sehen, das die Person sieht, oder um ihren Anwendungsfall besser zu verstehen.
|
||||
|
||||
* Wenn Sie in Geberlaune sind, können Sie ein solches Beispiel selbst erstellen, nur basierend auf der Beschreibung des Problems. Denken Sie jedoch daran, dass dies viel Zeit in Anspruch nehmen kann und dass es besser sein kann, zunächst um eine Klärung des Problems zu bitten.
|
||||
|
||||
### Lösungen vorschlagen { #suggest-solutions }
|
||||
|
||||
* Nachdem Sie die Frage verstanden haben, können Sie eine mögliche **Antwort** geben.
|
||||
|
||||
* In vielen Fällen ist es besser, das **zugrunde liegende Problem oder den Anwendungsfall** zu verstehen, da es möglicherweise einen besseren Weg zur Lösung gibt als das, was die Person versucht.
|
||||
|
||||
### Um Schließung bitten { #ask-to-close }
|
||||
|
||||
Wenn die Person antwortet, besteht eine hohe Chance, dass Sie ihr Problem gelöst haben. Herzlichen Glückwunsch, **Sie sind ein Held**! 🦸
|
||||
|
||||
* Wenn es tatsächlich das Problem gelöst hat, können Sie sie darum bitten:
|
||||
|
||||
* In GitHub-Diskussionen: den Kommentar als **Antwort** zu markieren.
|
||||
* In GitHub-Issues: Das Issue zu **schließen**.
|
||||
|
||||
## Das GitHub-Repository beobachten { #watch-the-github-repository }
|
||||
|
||||
Sie können FastAPI auf GitHub „beobachten“ (klicken Sie auf den „watch“-Button oben rechts): [https://github.com/fastapi/fastapi](https://github.com/fastapi/fastapi). 👀
|
||||
|
||||
Wenn Sie dann „Watching“ statt „Releases only“ auswählen, erhalten Sie Benachrichtigungen, wenn jemand ein neues Issue eröffnet oder eine neue Frage stellt. Sie können auch spezifizieren, dass Sie nur über neue Issues, Diskussionen, PRs usw. benachrichtigt werden möchten.
|
||||
|
||||
Dann können Sie versuchen, bei der Lösung solcher Fragen zu helfen.
|
||||
Folgen Sie der [Anleitung, wie Sie helfen können](https://tiangolo.com/open-source/help/#help-others-with-questions-in-github) hier.
|
||||
|
||||
## Fragen stellen { #ask-questions }
|
||||
|
||||
Sie können im GitHub-Repository [eine neue Frage erstellen](https://github.com/fastapi/fastapi/discussions/new?category=questions), zum Beispiel:
|
||||
Sie können im GitHub-Repository [eine neue Frage erstellen](https://github.com/fastapi/fastapi/discussions/new?category=questions), zum Beispiel um:
|
||||
|
||||
* Stellen Sie eine **Frage** oder bitten Sie um Hilfe mit einem **Problem**.
|
||||
* Schlagen Sie eine neue **Funktionalität** vor.
|
||||
|
||||
**Hinweis**: Wenn Sie das tun, bitte ich Sie, auch anderen zu helfen. 😉
|
||||
|
||||
## Pull Requests prüfen { #review-pull-requests }
|
||||
|
||||
Sie können mir helfen, Pull Requests von anderen zu überprüfen.
|
||||
|
||||
Noch einmal, bitte versuchen Sie Ihr Bestes, freundlich zu sein. 🤗
|
||||
|
||||
---
|
||||
|
||||
Hier ist, was Sie beachten sollten und wie Sie einen Pull Request überprüfen:
|
||||
|
||||
### Das Problem verstehen { #understand-the-problem }
|
||||
|
||||
* Stellen Sie zunächst sicher, dass Sie **das Problem verstehen**, welches der Pull Request zu lösen versucht. Möglicherweise gibt es eine längere Diskussion dazu in einer GitHub-Diskussion oder einem GitHub-Issue.
|
||||
|
||||
* Es besteht auch eine gute Chance, dass der Pull Request nicht wirklich benötigt wird, da das Problem auf **andere Weise** gelöst werden kann. Dann können Sie das vorschlagen oder danach fragen.
|
||||
|
||||
### Keine Panik wegen des Stils { #dont-worry-about-style }
|
||||
|
||||
* Machen Sie sich keine Sorgen über Dinge wie den Stil von Commit-Nachrichten. Ich werde den Commit zusammenführen und manuell anpassen.
|
||||
|
||||
* Außerdem, keine Sorgen über Stilregeln, es gibt bereits automatisierte Tools, die das überprüfen.
|
||||
|
||||
Und wenn es irgendeinen anderen Stil- oder Konsistenzbedarf gibt, werde ich direkt danach fragen oder zusätzliche Commits mit den erforderlichen Änderungen hinzufügen.
|
||||
|
||||
### Den Code testen { #check-the-code }
|
||||
|
||||
* Prüfen und lesen Sie den Code, fragen Sie sich, ob er Sinn macht, **führen Sie ihn lokal aus** und testen Sie, ob er das Problem tatsächlich löst.
|
||||
|
||||
* Schreiben Sie dann einen **Kommentar** und berichten, dass Sie das getan haben. So weiß ich, dass Sie ihn wirklich überprüft haben.
|
||||
|
||||
/// info | Info
|
||||
|
||||
Leider kann ich PRs, nur weil sie von mehreren gutgeheißen wurden, nicht einfach vertrauen.
|
||||
|
||||
Es ist mehrmals passiert, dass es PRs mit drei, fünf oder mehr Zustimmungen gibt, wahrscheinlich weil die Beschreibung ansprechend ist, aber wenn ich die PRs überprüfe, sind sie tatsächlich fehlerhaft, haben einen Bug, oder lösen das Problem nicht, welches sie behaupten, zu lösen. 😅
|
||||
|
||||
Daher ist es wirklich wichtig, dass Sie den Code wirklich lesen und ausführen und mir in den Kommentaren mitteilen, dass Sie dies getan haben. 🤓
|
||||
|
||||
///
|
||||
|
||||
* Wenn der PR in irgendeiner Weise vereinfacht werden kann, können Sie danach fragen, aber es gibt keinen Grund, zu wählerisch zu sein. Es gibt viele subjektive Standpunkte (und ich habe auch meinen eigenen 🙈), also ist es besser, wenn man sich auf die grundlegenden Dinge konzentriert.
|
||||
|
||||
### Tests { #tests }
|
||||
|
||||
* Helfen Sie mir zu überprüfen, dass der PR **Tests** hat.
|
||||
|
||||
* Überprüfen Sie, dass diese Tests vor dem PR **fehlschlagen**. 🚨
|
||||
|
||||
* Überprüfen Sie dann, dass diese Tests nach dem PR **bestanden** werden. ✅
|
||||
|
||||
* Viele PRs haben keine Tests. Sie können den Autor daran **erinnern**, Tests hinzuzufügen, oder Sie können sogar selbst einige Tests **vorschlagen**. Das ist eines der Dinge, die am meisten Zeit in Anspruch nehmen, und Sie können dabei viel helfen.
|
||||
|
||||
* Kommentieren Sie auch hier anschließend, was Sie versucht haben, sodass ich weiß, dass Sie es überprüft haben. 🤓
|
||||
|
||||
## Einen Pull Request erstellen { #create-a-pull-request }
|
||||
|
||||
Sie können [zum Quellcode mit Pull Requests beitragen](contributing.md), zum Beispiel:
|
||||
|
||||
* Um einen Tippfehler zu beheben, den Sie in der Dokumentation gefunden haben.
|
||||
* Um einen Artikel, ein Video oder einen Podcast über FastAPI zu teilen, den Sie erstellt oder gefunden haben, indem Sie [diese Datei bearbeiten](https://github.com/fastapi/fastapi/edit/master/docs/en/data/external_links.yml).
|
||||
* Stellen Sie sicher, dass Sie Ihren Link am Anfang des entsprechenden Abschnitts einfügen.
|
||||
* Um zu helfen, [die Dokumentation in Ihre Sprache zu übersetzen](contributing.md#translations).
|
||||
* Sie können auch dabei helfen, die von anderen erstellten Übersetzungen zu überprüfen.
|
||||
* Um neue Dokumentationsabschnitte vorzuschlagen.
|
||||
* Um ein bestehendes Problem/Bug zu beheben.
|
||||
* Stellen Sie sicher, dass Sie Tests hinzufügen.
|
||||
* Um eine neue Funktionalität hinzuzufügen.
|
||||
* Stellen Sie sicher, dass Sie Tests hinzufügen.
|
||||
* Stellen Sie sicher, dass Sie Dokumentation hinzufügen, falls das notwendig ist.
|
||||
|
||||
## FastAPI pflegen { #help-maintain-fastapi }
|
||||
|
||||
Helfen Sie mir, **FastAPI** zu pflegen! 🤓
|
||||
|
||||
Es gibt viel zu tun, und das meiste davon können **SIE** tun.
|
||||
|
||||
Die Hauptaufgaben, die Sie jetzt erledigen können, sind:
|
||||
|
||||
* [Anderen bei Fragen auf GitHub helfen](#help-others-with-questions-in-github) (siehe Abschnitt oben).
|
||||
* [Pull Requests prüfen](#review-pull-requests) (siehe Abschnitt oben).
|
||||
|
||||
Diese beiden Aufgaben sind die Dinge, die **am meisten Zeit verbrauchen**. Das ist die Hauptarbeit bei der Wartung von FastAPI.
|
||||
|
||||
Wenn Sie mir dabei helfen können, **helfen Sie mir, FastAPI zu pflegen** und Sie stellen sicher, dass es weiterhin **schneller und besser voranschreitet**. 🚀
|
||||
* Eine **Frage** zu stellen oder nach einem **Problem** zu fragen.
|
||||
* Eine neue **Funktionalität** vorzuschlagen.
|
||||
|
||||
## Am Chat teilnehmen { #join-the-chat }
|
||||
|
||||
@@ -231,7 +72,7 @@ Treten Sie dem 👥 [Discord-Chatserver](https://discord.gg/VQjSZaeJmf) 👥 bei
|
||||
|
||||
/// tip | Tipp
|
||||
|
||||
Bei Fragen stellen Sie sie in [GitHub-Diskussionen](https://github.com/fastapi/fastapi/discussions/new?category=questions), dort besteht eine viel größere Chance, dass Sie Hilfe von den [FastAPI-Experten](fastapi-people.md#fastapi-experts) erhalten.
|
||||
Bei Fragen stellen Sie sie in GitHub-Diskussionen, dort besteht eine viel größere Chance, dass Sie Hilfe erhalten.
|
||||
|
||||
Nutzen Sie den Chat nur für andere allgemeine Gespräche.
|
||||
|
||||
@@ -241,16 +82,6 @@ Nutzen Sie den Chat nur für andere allgemeine Gespräche.
|
||||
|
||||
Bedenken Sie, dass Sie in Chats, die „freie Konversation“ erlauben, leicht Fragen stellen können, die zu allgemein und schwer zu beantworten sind, sodass Sie möglicherweise keine Antworten erhalten.
|
||||
|
||||
Auf GitHub hilft Ihnen die Vorlage dabei, die richtige Frage zu stellen, sodass Sie leichter eine gute Antwort erhalten können, oder sogar das Problem selbst lösen, bevor Sie überhaupt fragen. Und auf GitHub kann ich sicherstellen, dass ich immer alles beantworte, auch wenn es einige Zeit dauert. Persönlich kann ich das mit den Chat-Systemen nicht machen. 😅
|
||||
Auf GitHub hilft Ihnen die Vorlage dabei, die richtige Frage zu stellen, sodass Sie leichter eine gute Antwort erhalten können, oder sogar das Problem selbst lösen, bevor Sie überhaupt fragen.
|
||||
|
||||
Unterhaltungen in den Chat-Systemen sind auch nicht so leicht durchsuchbar wie auf GitHub, sodass Fragen und Antworten möglicherweise im Gespräch verloren gehen. Und nur die auf GitHub machen einen [FastAPI-Experten](fastapi-people.md#fastapi-experts), Sie werden also höchstwahrscheinlich mehr Aufmerksamkeit auf GitHub erhalten.
|
||||
|
||||
Auf der anderen Seite gibt es Tausende von Benutzern in den Chat-Systemen, sodass die Wahrscheinlichkeit hoch ist, dass Sie dort fast immer jemanden zum Reden finden. 😄
|
||||
|
||||
## Den Autor sponsern { #sponsor-the-author }
|
||||
|
||||
Wenn Ihr **Produkt/Firma** auf **FastAPI** angewiesen ist oder in Zusammenhang steht und Sie seine Benutzer erreichen möchten, können Sie den Autor (mich) über [GitHub-Sponsoren](https://github.com/sponsors/tiangolo) unterstützen. Je nach Stufe können Sie einige zusätzliche Vorteile erhalten, wie z. B. ein Abzeichen in der Dokumentation. 🎁
|
||||
|
||||
---
|
||||
|
||||
Danke! 🚀
|
||||
Unterhaltungen in den Chat-Systemen sind auch nicht so leicht durchsuchbar wie auf GitHub, sie gehen verloren.
|
||||
|
||||
+67
-27
@@ -1,3 +1,8 @@
|
||||
---
|
||||
include_yaml:
|
||||
sponsors: data/sponsors.yml
|
||||
---
|
||||
|
||||
# FastAPI { #fastapi }
|
||||
|
||||
<style>
|
||||
@@ -54,18 +59,27 @@ Seine Schlüssel-Merkmale sind:
|
||||
|
||||
### Keystone-Sponsor { #keystone-sponsor }
|
||||
|
||||
<div class="fastapi-sponsors fastapi-sponsors--keystone">
|
||||
{% for sponsor in sponsors.keystone -%}
|
||||
<a href="{{ sponsor.url }}" title="{{ sponsor.title }}"><img src="{{ sponsor.img }}" style="border-radius:15px"></a>
|
||||
<a class="fastapi-sponsors__card fastapi-sponsors__card--keystone" href="{{ sponsor.url }}" title="{{ sponsor.title }}"><img class="fastapi-sponsors__banner" src="{{ sponsor.img }}" alt="{{ sponsor.title }}"></a>
|
||||
{% endfor -%}
|
||||
</div>
|
||||
|
||||
### Gold- und Silber-Sponsoren { #gold-and-silver-sponsors }
|
||||
### Gold-Sponsoren { #gold-sponsors }
|
||||
|
||||
<div class="fastapi-sponsors fastapi-sponsors--gold">
|
||||
{% for sponsor in sponsors.gold -%}
|
||||
<a href="{{ sponsor.url }}" title="{{ sponsor.title }}"><img src="{{ sponsor.img }}" style="border-radius:15px"></a>
|
||||
<a class="fastapi-sponsors__card fastapi-sponsors__card--gold" href="{{ sponsor.url }}" title="{{ sponsor.title }}"><img class="fastapi-sponsors__banner" src="{{ sponsor.img }}" alt="{{ sponsor.title }}" loading="lazy"></a>
|
||||
{% endfor -%}
|
||||
{%- for sponsor in sponsors.silver -%}
|
||||
<a href="{{ sponsor.url }}" title="{{ sponsor.title }}"><img src="{{ sponsor.img }}" style="border-radius:15px"></a>
|
||||
</div>
|
||||
|
||||
### Silber-Sponsoren { #silver-sponsors }
|
||||
|
||||
<div class="fastapi-sponsors fastapi-sponsors--silver">
|
||||
{% for sponsor in sponsors.silver -%}
|
||||
<a class="fastapi-sponsors__card fastapi-sponsors__card--silver" href="{{ sponsor.url }}" title="{{ sponsor.title }}"><img class="fastapi-sponsors__banner" src="{{ sponsor.img }}" alt="{{ sponsor.title }}" loading="lazy"></a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<!-- /sponsors -->
|
||||
|
||||
@@ -73,6 +87,44 @@ Seine Schlüssel-Merkmale sind:
|
||||
|
||||
## Meinungen { #opinions }
|
||||
|
||||
<!-- only-mkdocs -->
|
||||
<div class="fastapi-opinions" data-fastapi-opinions>
|
||||
<div class="fastapi-opinions__tabs" role="tablist" aria-label="Companies using FastAPI">
|
||||
<button class="fastapi-opinions__tab" role="tab" type="button" id="fo-tab-microsoft" aria-controls="fo-panel-microsoft" aria-selected="true" tabindex="0">
|
||||
<span class="fastapi-opinions__mark"><img src="/img/logos/microsoft.svg" alt="Microsoft" loading="lazy"></span>
|
||||
</button>
|
||||
<button class="fastapi-opinions__tab" role="tab" type="button" id="fo-tab-uber" aria-controls="fo-panel-uber" aria-selected="false" tabindex="-1">
|
||||
<span class="fastapi-opinions__mark"><img src="/img/logos/uber.svg" alt="Uber" loading="lazy"></span>
|
||||
</button>
|
||||
<button class="fastapi-opinions__tab" role="tab" type="button" id="fo-tab-netflix" aria-controls="fo-panel-netflix" aria-selected="false" tabindex="-1">
|
||||
<span class="fastapi-opinions__mark"><img src="/img/logos/netflix.svg" alt="Netflix" loading="lazy"></span>
|
||||
</button>
|
||||
<button class="fastapi-opinions__tab" role="tab" type="button" id="fo-tab-cisco" aria-controls="fo-panel-cisco" aria-selected="false" tabindex="-1">
|
||||
<span class="fastapi-opinions__mark"><img src="/img/logos/cisco.svg" alt="Cisco" loading="lazy"></span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="fastapi-opinions__panel" id="fo-panel-microsoft" role="tabpanel" aria-labelledby="fo-tab-microsoft" tabindex="0">
|
||||
<blockquote class="fastapi-opinions__quote">„Ich verwende <strong>FastAPI</strong> heutzutage sehr oft. Ich plane tatsächlich, es für alle <strong>ML-Services meines Teams bei Microsoft</strong> zu verwenden. Einige davon werden in das Kernprodukt <strong>Windows</strong> und einige <strong>Office</strong>-Produkte integriert.“</blockquote>
|
||||
<div class="fastapi-opinions__attr">— Kabir Khan, <strong>Microsoft</strong> <a href="https://github.com/fastapi/fastapi/pull/26">(Ref.)</a></div>
|
||||
</div>
|
||||
<div class="fastapi-opinions__panel" id="fo-panel-uber" role="tabpanel" aria-labelledby="fo-tab-uber" tabindex="0" hidden>
|
||||
<blockquote class="fastapi-opinions__quote">„Wir haben die <strong>FastAPI</strong>-Bibliothek übernommen, um einen <strong>REST</strong>-Server zu erstellen, der für <strong>Vorhersagen</strong> abgefragt werden kann.“ <em>[für Ludwig]</em></blockquote>
|
||||
<div class="fastapi-opinions__attr">— Piero Molino, Yaroslav Dudin, Sai Sumanth Miryala, <strong>Uber</strong> <a href="https://eng.uber.com/ludwig-v0-2/">(Ref.)</a></div>
|
||||
</div>
|
||||
<div class="fastapi-opinions__panel" id="fo-panel-netflix" role="tabpanel" aria-labelledby="fo-tab-netflix" tabindex="0" hidden>
|
||||
<blockquote class="fastapi-opinions__quote">„<strong>Netflix</strong> freut sich, die Open-Source-Veröffentlichung unseres <strong>Krisenmanagement</strong>-Orchestrierungsframeworks bekannt zu geben: <strong>Dispatch</strong>!“ <em>[erstellt mit FastAPI]</em></blockquote>
|
||||
<div class="fastapi-opinions__attr">— Kevin Glisson, Marc Vilanova, Forest Monsen, <strong>Netflix</strong> <a href="https://netflixtechblog.com/introducing-dispatch-da4b8a2a8072">(Ref.)</a></div>
|
||||
</div>
|
||||
<div class="fastapi-opinions__panel" id="fo-panel-cisco" role="tabpanel" aria-labelledby="fo-tab-cisco" tabindex="0" hidden>
|
||||
<blockquote class="fastapi-opinions__quote">„Falls irgendjemand eine Produktions-Python-API erstellen möchte, kann ich <strong>FastAPI</strong> wärmstens empfehlen. Es ist <strong>wunderschön konzipiert</strong>, <strong>einfach zu verwenden</strong> und <strong>hoch skalierbar</strong> – es ist zu einer <strong>Schlüsselkomponente</strong> unserer API-First-Entwicklungsstrategie geworden.“</blockquote>
|
||||
<div class="fastapi-opinions__attr">— Deon Pillsbury, <strong>Cisco</strong> <a href="https://www.linkedin.com/posts/deonpillsbury_cisco-cx-python-activity-6963242628536487936-trAp/">(Ref.)</a></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /only-mkdocs -->
|
||||
|
||||
<div class="only-github" markdown="1">
|
||||
|
||||
„_[...] 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._“
|
||||
|
||||
<div style="text-align: right; margin-right: 10%;">Kabir Khan – <strong>Microsoft</strong> <a href="https://github.com/fastapi/fastapi/pull/26"><small>(Ref.)</small></a></div>
|
||||
@@ -85,43 +137,31 @@ Seine Schlüssel-Merkmale sind:
|
||||
|
||||
---
|
||||
|
||||
„_**Netflix** freut sich, die Open-Source-Veröffentlichung unseres **Krisenmanagement**-Orchestrierung-Frameworks bekannt zu geben: **Dispatch**! [erstellt mit **FastAPI**]_“
|
||||
„_**Netflix** freut sich, die Open-Source-Veröffentlichung unseres **Krisenmanagement**-Orchestrierungsframeworks bekannt zu geben: **Dispatch**! [erstellt mit **FastAPI**]_“
|
||||
|
||||
<div style="text-align: right; margin-right: 10%;">Kevin Glisson, Marc Vilanova, Forest Monsen – <strong>Netflix</strong> <a href="https://netflixtechblog.com/introducing-dispatch-da4b8a2a8072"><small>(Ref.)</small></a></div>
|
||||
|
||||
---
|
||||
|
||||
„_Ich bin hellauf begeistert von **FastAPI**. Es macht so viel Spaß!_“
|
||||
|
||||
<div style="text-align: right; margin-right: 10%;">Brian Okken – <strong>[Python Bytes](https://pythonbytes.fm/episodes/show/123/time-to-right-the-py-wrongs?time_in_sec=855) Podcast-Host</strong> <a href="https://x.com/brianokken/status/1112220079972728832"><small>(Ref.)</small></a></div>
|
||||
|
||||
---
|
||||
|
||||
„_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._“
|
||||
|
||||
<div style="text-align: right; margin-right: 10%;">Timothy Crosley – <strong>[Hug](https://github.com/hugapi/hug)-Autor</strong> <a href="https://news.ycombinator.com/item?id=19455465"><small>(Ref.)</small></a></div>
|
||||
|
||||
---
|
||||
|
||||
„_Wenn Sie ein **modernes Framework** zum Erstellen von REST-APIs erlernen möchten, schauen Sie sich **FastAPI** an. [...] Es ist schnell, einfach zu verwenden und leicht zu lernen [...]_“
|
||||
|
||||
„_Wir haben zu **FastAPI** für unsere **APIs** gewechselt [...] Ich denke, es wird Ihnen gefallen [...]_“
|
||||
|
||||
<div style="text-align: right; margin-right: 10%;">Ines Montani – Matthew Honnibal – <strong>[Explosion AI](https://explosion.ai)-Gründer – [spaCy](https://spacy.io)-Autoren</strong> <a href="https://x.com/_inesmontani/status/1144173225322143744"><small>(Ref.)</small></a> – <a href="https://x.com/honnibal/status/1144031421859655680"><small>(Ref.)</small></a></div>
|
||||
|
||||
---
|
||||
|
||||
„_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._“
|
||||
|
||||
<div style="text-align: right; margin-right: 10%;">Deon Pillsbury – <strong>Cisco</strong> <a href="https://www.linkedin.com/posts/deonpillsbury_cisco-cx-python-activity-6963242628536487936-trAp/"><small>(Ref.)</small></a></div>
|
||||
|
||||
---
|
||||
|
||||
</div>
|
||||
|
||||
## FastAPI Conf { #fastapi-conf }
|
||||
|
||||
[**FastAPI Conf ’26**](https://fastapiconf.com) findet am **28. Oktober 2026** in **Amsterdam, NL** statt. Alles über FastAPI, direkt von der Quelle. 🎤
|
||||
|
||||
<a class="fastapi-feature-banner" href="https://fastapiconf.com"><img src="https://fastapi.tiangolo.com/img/fastapi-conf.jpeg" alt="FastAPI Conf ’26 - 28. Oktober 2026 - Amsterdam, NL"></a>
|
||||
|
||||
## FastAPI Mini-Dokumentarfilm { #fastapi-mini-documentary }
|
||||
|
||||
Es gibt einen [FastAPI-Mini-Dokumentarfilm](https://www.youtube.com/watch?v=mpR8ngthqiE), veröffentlicht Ende 2025, Sie können ihn online ansehen:
|
||||
|
||||
<a href="https://www.youtube.com/watch?v=mpR8ngthqiE"><img src="https://fastapi.tiangolo.com/img/fastapi-documentary.jpg" alt="FastAPI Mini-Dokumentarfilm"></a>
|
||||
<a class="fastapi-feature-banner" href="https://www.youtube.com/watch?v=mpR8ngthqiE"><img src="https://fastapi.tiangolo.com/img/fastapi-documentary.jpg" alt="FastAPI Mini-Dokumentarfilm"></a>
|
||||
|
||||
## **Typer**, das FastAPI der CLIs { #typer-the-fastapi-of-clis }
|
||||
|
||||
|
||||
@@ -172,7 +172,7 @@ Da die Liste ein Typ ist, welcher innere Typen enthält, werden diese von eckige
|
||||
|
||||
{* ../../docs_src/python_types/tutorial006_py310.py hl[1] *}
|
||||
|
||||
/// info | Info
|
||||
/// note | Hinweis
|
||||
|
||||
Die inneren Typen in den eckigen Klammern werden als „Typ-Parameter“ bezeichnet.
|
||||
|
||||
@@ -283,7 +283,7 @@ Ein Beispiel aus der offiziellen Pydantic Dokumentation:
|
||||
|
||||
{* ../../docs_src/python_types/tutorial011_py310.py *}
|
||||
|
||||
/// info | Info
|
||||
/// note | Hinweis
|
||||
|
||||
Um mehr über [Pydantic zu erfahren, schauen Sie sich dessen Dokumentation an](https://docs.pydantic.dev/).
|
||||
|
||||
@@ -341,7 +341,7 @@ Das mag alles abstrakt klingen. Machen Sie sich keine Sorgen. Sie werden all das
|
||||
|
||||
Das Wichtigste ist, dass **FastAPI** durch die Verwendung von Standard-Python-Typen an einer einzigen Stelle (anstatt weitere Klassen, Dekoratoren usw. hinzuzufügen) einen Großteil der Arbeit für Sie erledigt.
|
||||
|
||||
/// info | Info
|
||||
/// note | Hinweis
|
||||
|
||||
Wenn Sie bereits das ganze Tutorial durchgearbeitet haben und mehr über Typen erfahren wollen, dann ist eine gute Ressource [der „Cheat Sheet“ von `mypy`](https://mypy.readthedocs.io/en/latest/cheat_sheet_py3.html).
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ Wenn Sie eine Anwendung oder eine Web-API erstellen, ist es selten der Fall, das
|
||||
|
||||
**FastAPI** bietet ein praktisches Werkzeug zur Strukturierung Ihrer Anwendung bei gleichzeitiger Wahrung der Flexibilität.
|
||||
|
||||
/// info | Info
|
||||
/// note | Hinweis
|
||||
|
||||
Wenn Sie von Flask kommen, wäre dies das Äquivalent zu Flasks Blueprints.
|
||||
|
||||
@@ -194,7 +194,7 @@ Das Endergebnis ist, dass die Pfade für diese Artikel jetzt wie folgt lauten:
|
||||
|
||||
///
|
||||
|
||||
/// check | Testen
|
||||
/// tip | Tipp
|
||||
|
||||
Die Parameter `prefix`, `tags`, `responses` und `dependencies` sind (wie in vielen anderen Fällen) nur ein Feature von **FastAPI**, um Ihnen dabei zu helfen, Codeverdoppelung zu vermeiden.
|
||||
|
||||
@@ -339,7 +339,7 @@ Wir könnten sie auch wie folgt importieren:
|
||||
from app.routers import items, users
|
||||
```
|
||||
|
||||
/// info | Info
|
||||
/// note | Hinweis
|
||||
|
||||
Die erste Version ist ein „relativer Import“:
|
||||
|
||||
@@ -382,7 +382,7 @@ Inkludieren wir nun die `router` aus diesen Submodulen `users` und `items`:
|
||||
|
||||
{* ../../docs_src/bigger_applications/app_an_py310/main.py hl[10:11] title["app/main.py"] *}
|
||||
|
||||
/// info | Info
|
||||
/// note | Hinweis
|
||||
|
||||
`users.router` enthält den `APIRouter` in der Datei `app/routers/users.py`.
|
||||
|
||||
@@ -402,7 +402,7 @@ Hinter den Kulissen wird es also tatsächlich so funktionieren, als ob alles die
|
||||
|
||||
///
|
||||
|
||||
/// check | Testen
|
||||
/// tip | Tipp
|
||||
|
||||
Bei der Einbindung von Routern müssen Sie sich keine Gedanken über die Leistung machen.
|
||||
|
||||
@@ -451,7 +451,7 @@ Hier machen wir es ... nur um zu zeigen, dass wir es können 🤷:
|
||||
|
||||
und es wird korrekt funktionieren, zusammen mit allen anderen *Pfadoperationen*, die mit `app.include_router()` hinzugefügt wurden.
|
||||
|
||||
/// info | Sehr technische Details
|
||||
/// note | Sehr technische Details
|
||||
|
||||
**Hinweis**: Dies ist ein sehr technisches Detail, das Sie wahrscheinlich **einfach überspringen** können.
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ Daher wird die Zeile:
|
||||
|
||||
nicht ausgeführt.
|
||||
|
||||
/// info | Info
|
||||
/// note | Hinweis
|
||||
|
||||
Für weitere Informationen besuchen Sie bitte [die offizielle Python-Dokumentation](https://docs.python.org/3/library/__main__.html).
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ Aber denken Sie daran, dass bei der Nutzung von `Query`, `Path`, `Header` und an
|
||||
|
||||
///
|
||||
|
||||
/// info | Info
|
||||
/// note | Hinweis
|
||||
|
||||
Um Header zu deklarieren, müssen Sie `Header` verwenden, da die Parameter sonst als Query-Parameter interpretiert werden würden.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Wenn Sie an Python-Projekten arbeiten, sollten Sie wahrscheinlich eine **virtuelle Umgebung** (oder einen ähnlichen Mechanismus) verwenden, um die <abbr title="Python Installationspakete">Packages</abbr>, die Sie für jedes Projekt installieren, zu isolieren.
|
||||
|
||||
/// info | Info
|
||||
/// note | Hinweis
|
||||
|
||||
Wenn Sie bereits über virtuelle Umgebungen Bescheid wissen, wie man sie erstellt und verwendet, möchten Sie diesen Abschnitt vielleicht überspringen. 🤓
|
||||
|
||||
@@ -18,7 +18,7 @@ Eine **virtuelle Umgebung** ist ein Verzeichnis mit einigen Dateien darin.
|
||||
|
||||
///
|
||||
|
||||
/// info | Info
|
||||
/// note | Hinweis
|
||||
|
||||
Diese Seite wird Ihnen beibringen, wie Sie **virtuelle Umgebungen** verwenden und wie sie funktionieren.
|
||||
|
||||
@@ -817,7 +817,7 @@ Traceback (most recent call last):
|
||||
|
||||
</div>
|
||||
|
||||
Wenn Sie jedoch die virtuelle Umgebung deaktivieren und die neue für `prisoner-of-askaban` aktivieren, wird beim Ausführen von `python` das Python aus der virtuellen Umgebung in `prisoner-of-azkaban` verwendet.
|
||||
Wenn Sie jedoch die virtuelle Umgebung deaktivieren und die neue für `prisoner-of-azkaban` aktivieren, wird beim Ausführen von `python` das Python aus der virtuellen Umgebung in `prisoner-of-azkaban` verwendet.
|
||||
|
||||
<div class="termy">
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
INHERIT: ../en/mkdocs.yml
|
||||
Reference in New Issue
Block a user