FastAPI не загружает страницу
Начал изучать FastAPI (https://fastapi.netlify.app/ru/tutorial/first-steps/)
Запустил, все заработало, но после перезапуска uvicorn
сайт перестал грузиться.
Я перезапустил uvicorn
но это не помогло. Просто висит бесконечная загрузка с черным экраном, причем в первый раз все работало.
Код:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
Запускаю: uvicorn main:app --reload
Лог:
INFO: Will watch for changes in these directories: ['\путь\к\сайту']
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [2664] using StatReload
INFO: Started server process [3372]
INFO: Waiting for application startup.
INFO: Application startup complete.
Перехожу на http://127.0.0.1:8000/
и вижу пустой экран который не загружается.
В чем проблема?
Ответы (1 шт):
fastapi 0.115.8 \ fastapi-cli 0.0.7
Взято от сюда: https://fastapi.tiangolo.com/fastapi-cli/
Запуск
fastapi dev
инициирует режим разработки.По умолчанию включена функция автоматической перезагрузки, которая автоматически перезагружает сервер при внесении изменений в код. Это ресурсоемко и может быть менее стабильно, чем при отключении. Вы должны использовать ее только для разработки. Она также прослушивает IP-адрес
127.0.0.1
, который является IP-адресом для вашей машины, чтобы общаться с ней самой (localhost
).
Выполнение
fastapi run
запускает FastAPI в производственном режиме по умолчанию.По умолчанию автоматическая перезагрузка отключена. Он также прослушивает IP-адрес
0.0.0.0
, то есть все доступные IP-адреса, таким образом, он будет доступен всем, кто может взаимодействовать с машиной. Это то, как вы обычно запускаете его в производстве, например, в контейнере.В большинстве случаев вам понадобится (и нужно) иметь «терминальный прокси-сервер», обрабатывающий HTTPS для вас сверху. Это будет зависеть от того, как вы развертываете свое приложение. Ваш провайдер может сделать это за вас, или вам, возможно, придется настроить его самостоятельно.