WSGI'yi Dahil Etme - Flask, Django ve Diğerleri¶
🌐 Yapay Zekâ ve İnsanlar Tarafından Çeviri
Bu çeviri, insanlar tarafından yönlendirilen bir yapay zekâ ile oluşturuldu. 🤝
Orijinal anlamın yanlış anlaşılması ya da kulağa doğal gelmeme gibi hatalar içerebilir. 🤖
Yapay zekâ LLM'ini daha iyi yönlendirmemize yardımcı olarak bu çeviriyi iyileştirebilirsiniz.
WSGI uygulamalarınıAlt Uygulamalar - Mount Etme,Bir Proxy Arkasında bölümlerinde gördüğünüz gibi mount edebilirsiniz.
Bunun içinWSGIMiddleware'ı kullanabilir ve bunu WSGI uygulamanızı (örneğin Flask, Django vb.) sarmalamak için kullanabilirsiniz.
WSGIMiddleware Kullanımı¶
Bilgi
Bunun içina2wsgi kurulmalıdır; örneğinpip install a2wsgi ile.
WSGIMiddleware'ıa2wsgi paketinden import etmeniz gerekir.
Ardından WSGI (örn. Flask) uygulamasını middleware ile sarmalayın.
Ve sonra bunu bir path'in altına mount edin.
froma2wsgiimportWSGIMiddlewarefromfastapiimportFastAPIfromflaskimportFlask,requestfrommarkupsafeimportescapeflask_app=Flask(__name__)@flask_app.route("/")defflask_main():name=request.args.get("name","World")returnf"Hello,{escape(name)} from Flask!"app=FastAPI()@app.get("/v2")defread_main():return{"message":"Hello World"}app.mount("/v1",WSGIMiddleware(flask_app))Not
Önceden,fastapi.middleware.wsgi içindekiWSGIMiddleware'ın kullanılması öneriliyordu, ancak artık kullanımdan kaldırıldı.
Bunun yerinea2wsgi paketini kullanmanız önerilir. Kullanım aynıdır.
Sadecea2wsgi paketinin kurulu olduğundan emin olun veWSGIMiddleware'ıa2wsgi içinden doğru şekilde import edin.
Kontrol Edelim¶
Artık/v1/ path'i altındaki her request Flask uygulaması tarafından işlenecektir.
Geri kalanı iseFastAPI tarafından işlenecektir.
Eğer uygulamanızı çalıştırıphttp://localhost:8000/v1/ adresine giderseniz, Flask'tan gelen response'u göreceksiniz:
Hello, World from Flask!Ve eğerhttp://localhost:8000/v2 adresine giderseniz, FastAPI'dan gelen response'u göreceksiniz:
{"message":"Hello World"}






