@R0Zi

Как отоброзить mount FastAPI после обработки других энд поинтов?

app = FastAPI()


async def root_main(page: ft.Page):
    page.add(ft.Text("This is root app!"))


@app.get("/")
async def read_root():
    with open("index_data.html", "r") as file:
        html_content = file.read()

    return HTMLResponse(content=html_content, status_code=200)


@app.post("/get_data")
async def send_name(request: Request):
    data = await request.json()
    # Работа с данными


if __name__ == "__main__":
    import uvicorn
    app.mount('/', flet_fastapi.app(root_main))
    uvicorn.run(app, host="0.0.0.0", port=25022)


При заходе у в корень обрабатывается post
HTMLResponse(content=html_content, status_code=200)

Который работает с html
fetch('/get_data', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
}.......

По итогу переходит к get_data там я уже я получаю данные(из html тг api) но так же мне нужно чтобы мне отобразило мое приложение app.mount('/', flet_fastapi.app(root_main))
Но я не понимаю как это сделать. У меня либо открывается приложение, а данные не выводятся, либо на оборот. Мне нужно чтобы я получил данные и отобразил приложение в которое я по итогу и передам эти данные, я бы может и понял что до как но с фаст апи работал мало

Сразу извиняюсь если что-то не понятно объяснил, но я правда уже устал, а мне надо срочно разрешить эту ситуацию
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 1
Wispik
@Wispik
@app.get("/")
async def read_root():
...
app.mount('/', flet_fastapi.app(root_main))

у разных функций не может быть одного url. Надо либо монтировать flet на другой url, либо поменять у функции read_root
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы