fastapi/docs/de/docs/advanced/wsgi.md

1.9 KiB
Raw Blame History

WSGI inkludieren Flask, Django und andere

Sie können WSGI-Anwendungen mounten, wie Sie es in Unteranwendungen Mounts{.internal-link target=_blank}, Hinter einem Proxy{.internal-link target=_blank} gesehen haben.

Dazu können Sie die WSGIMiddleware verwenden und damit Ihre WSGI-Anwendung wrappen, zum Beispiel Flask, Django usw.

WSGIMiddleware verwenden

/// info | Info

Dafür muss a2wsgi installiert sein, z. B. mit pip install a2wsgi.

///

Sie müssen WSGIMiddleware aus a2wsgi importieren.

Wrappen Sie dann die WSGI-Anwendung (z. B. Flask) mit der Middleware.

Und dann mounten Sie das auf einem Pfad.

{* ../../docs_src/wsgi/tutorial001_py39.py hl[1,3,23] *}

/// note | Hinweis

Früher wurde empfohlen, WSGIMiddleware aus fastapi.middleware.wsgi zu verwenden, dies ist jetzt deprecatet.

Stattdessen wird empfohlen, das Paket a2wsgi zu verwenden. Die Nutzung bleibt gleich.

Stellen Sie lediglich sicher, dass das Paket a2wsgi installiert ist und importieren Sie WSGIMiddleware korrekt aus a2wsgi.

///

Es testen

Jetzt wird jeder Request unter dem Pfad /v1/ von der Flask-Anwendung verarbeitet.

Und der Rest wird von FastAPI gehandhabt.

Wenn Sie das ausführen und auf http://localhost:8000/v1/ gehen, sehen Sie die Response von Flask:

Hello, World from Flask!

Und wenn Sie auf http://localhost:8000/v2 gehen, sehen Sie die Response von FastAPI:

{
    "message": "Hello World"
}