Ich versuche tatsächlich, eine Web-App zu erstellen, die einer Person einige Informationen fragt, dann \*. docx mit Jinja bearbeiten und diese \*. docx an die Person als a zurückgeben Download. />
__pycache__/
.venv/
output/
output/test.docx
main.py
requirements.txt
< /code>
rquirements.txt:
flet-fastapi
flet
uvicorn
pydantic
fastapi
< /code>
Main.py:
from contextlib import asynccontextmanager
import flet as ft
import flet_fastapi
from fastapi import FastAPI
from fastapi.responses import FileResponse
@asynccontextmanager
async def lifespan(app=FastAPI):
await flet_fastapi.app_manager.start()
yield
await flet_fastapi.app_manager.shutdown()
app = FastAPI(lifespan=lifespan)
# I believe that it doesn't matter which endpoint we choose here, since later we mount
# our flet on the root-path. Decorator is here because without it "return FileResponse()"
# does nothing at all.
@app.get("/")
async def dl_test(page: ft.Page):
async def download(e):
return FileResponse(f"output/test.docx", media_type="application/vnd.openxmlformats-officedocument.wordprocessingml.document", filename="test.docx")
await page.add_async(ft.OutlinedButton(text="Get file", on_click=download))
await page.update_async()
app.mount("/", flet_fastapi.app(dl_test))
< /code>
Dieser Code ist das minimal reproduzierbare Beispiel.
Um ihn zu reproduzieren, können wir unsere virtuelle Umgebung vorbereiten: < /p>
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
< /code>
und führen Sie es dann aus: < /p>
uvicorn --reload main:app
< /code>
Wenn wir sie ausgeführt haben Feld! Hinweis: Überprüfen Sie, ob ein gültiger pydantischer Feldtyp ist. Wenn Sie eine Annotation des Rückgabetyps verwenden, die kein gültiges pydantisches Feld ist (z. B. Union [Antwort, Diktat, keine]), können Sie das Erzeugen des Antwortmodells aus der Typ -Annotation mit dem Parameter -Dekorator der Pfadoperation deaktivieren_model = keine.
Ich versuche tatsächlich, eine Web-App zu erstellen, die einer Person einige Informationen fragt, dann \*. docx mit Jinja bearbeiten und diese \*. docx an die Person als a zurückgeben Download. />[code]__pycache__/ .venv/ output/ output/test.docx main.py requirements.txt < /code> rquirements.txt: flet-fastapi flet uvicorn pydantic fastapi < /code> Main.py: from contextlib import asynccontextmanager import flet as ft import flet_fastapi from fastapi import FastAPI from fastapi.responses import FileResponse
# I believe that it doesn't matter which endpoint we choose here, since later we mount # our flet on the root-path. Decorator is here because without it "return FileResponse()" # does nothing at all. @app.get("/") async def dl_test(page: ft.Page): async def download(e): return FileResponse(f"output/test.docx", media_type="application/vnd.openxmlformats-officedocument.wordprocessingml.document", filename="test.docx") await page.add_async(ft.OutlinedButton(text="Get file", on_click=download)) await page.update_async()
app.mount("/", flet_fastapi.app(dl_test)) < /code> Dieser Code ist das minimal reproduzierbare Beispiel. Um ihn zu reproduzieren, können wir unsere virtuelle Umgebung vorbereiten: < /p> python -m venv .venv source .venv/bin/activate pip install -r requirements.txt < /code> und führen Sie es dann aus: < /p> uvicorn --reload main:app < /code> Wenn wir sie ausgeführt haben Feld! Hinweis: Überprüfen Sie, ob ein gültiger pydantischer Feldtyp ist. Wenn Sie eine Annotation des Rückgabetyps verwenden, die kein gültiges pydantisches Feld ist (z. B. Union [Antwort, Diktat, keine]), können Sie das Erzeugen des Antwortmodells aus der Typ -Annotation mit dem Parameter -Dekorator der Pfadoperation deaktivieren_model = keine.
Ich habe eine relativ einfache Fastapi -App, die eine Abfrage akzeptiert und die Antwort von Chatgpts API zurückstream. Chatgpt streamiert das Ergebnis zurück und ich kann sehen, dass dies in der...
Für Dev/Testzwecke habe ich nur Daten Anfang Januar aus einem Power BI -Datenfluss verfügbar. Aus diesem Grund habe ich die Aktualisierungsrichtlinien mit effektives Gesetz angewendet, wie in dieser...
Ich bin ein Anfänger und lerne gerade von BST in Java. Für dieses Projekt versuche ich, einen Knoten mit 2 untergeordneten Knoten zu löschen, aber ich habe Probleme, die rekursive Methode zu...
Ich bin ein Anfänger und lerne gerade von BST in Java. Für dieses Projekt versuche ich, einen Knoten mit 2 untergeordneten Knoten zu löschen, aber ich habe Probleme, die rekursive Methode zu...
Ich verwende eine WebView in meiner flattern App, um eine Webseite anzuzeigen. Wenn der Benutzer eine Schaltfläche aufnimmt oder eine Aktion im WebView beendet, möchte ich automatisch die WebView...