一、创建与运行

1、创建项目

下载Pycharm → 打开Pycharm → 创建新Project →  左侧选择FastAPI框架快速开始

可以看到有两个文件:main.py 和 test_main.http 两个文件。打开main文件,可以看到他的初始代码/框架如下:

from fastapi import FastAPI

app = FastAPI()


@app.get("/")
async def root():
    return {"message": "Hello World"}


@app.get("/hello/{name}")
async def say_hello(name: str):
    return {"message": f"Hello {name}"}

2、运行项目

这段代码可以直接运行,运行的两种方式为:terminal终端命令行运行点击Pycharm按钮运行

在terminal输入:

uvicorn main:app --reload

或者:

uvicorn main:app

注:uvicorn 是运行 ASGI Web 应用的服务器(FastAPI 属于其中一种)

使用命令 uvicorn main:app 启动服务时,如果代码有修改,则只能手动重启服务查看效果。

点击Pycharm的运行按钮跟使用命令  uvicorn main:app --reload  运行服务都可以实现在代码修改保存后自动重启服务,实现热部署。但是点击Pycharm的运行按钮重启服务时会很慢。我实践下来,点击运行按钮后,如果修改了代码并保存,Run窗口就会弹出一句提示:

WARNING:  StatReload detected changes in 'main.py'. Reloading...

然后卡住很久,才会出来以下提示:

INFO:     Shutting down
INFO:     Waiting for application shutdown.
INFO:     Application shutdown complete.
INFO:     Finished server process [18740]
INFO:     Started server process [22000]
INFO:     Waiting for application startup.
INFO:     Application startup complete.

所以建议运行的时候直接在terminal里面输入uvicorn main:app --reload,这样每次修改代码并Ctrl+s后,在前端界面一刷新就会即时看到代码修改后的结果。

二、查看交互式文档/docs

在对应网址后面加:/docs,如:http://127.0.0.1:8000/docs/

但是可能会出现页面空白的情况,可以安装fastapi-cdn-host包试试。我自己实践下来是有效的。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐