FastApi教程|调试

发表时间:2020-03-09

您可以在编辑器中连接调试器,例如使用Visual Studio Code或PyCharm。

呼叫 uvicorn

在您的FastAPI应用程序中, uvicorn 直接 导入并运行 :

import uvicorn
from fastapi import FastAPI

app = FastAPI()


@app.get("/")
def root():
    a = "a"
    b = "b" + a
    return {"hello world": b}


if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=8000)

关于 __name__ == "__main__"

的主要目的 __name__ == "__main__" 是拥有一些通过以下方式调用文件时执行的代码:

python myapp.py

但在另一个文件导入时不会被调用,例如:

from myapp import app

更多细节

假设您的文件名为 myapp.py

如果使用以下命令运行它:

python myapp.py

那么 __name__ 文件中 的内部变量 (由Python自动创建)的值将为string "__main__"

因此,该部分:

    uvicorn.run(app, host="0.0.0.0", port=8000)

会跑。


如果导入该模块(文件),则不会发生这种情况。

因此,如果您还有另一个文件 importer.py

from myapp import app

# Some more code

在这种情况下,里面的自动变量 myapp.py 将不会包含 __name__ 值为 的变量 "__main__"

因此,这一行:

    uvicorn.run(app, host="0.0.0.0", port=8000)

将不会执行。

信息

有关更多信息,请查看 官方Python文档

使用调试器运行代码

因为您是直接从代码运行Uvicorn服务器,所以可以直接从调试器调用Python程序(FastAPI应用程序)。


例如,在Visual Studio Code中,您可以:

  • 转到“调试”面板。
  • “添加配置...”。
  • 选择“ Python”
  • 使用选项“ Python: Current File (Integrated Terminal) ” 运行调试器 。

然后它将使用您的 FastAPI 代码 启动服务器 ,在断点处停止,等等。

外观如下:

文章来源互联网,如有侵权,请联系管理员删除。邮箱:417803890@qq.com / QQ:417803890

微配音

Python Free

邮箱:417803890@qq.com
QQ:417803890

皖ICP备19001818号-4
© 2019 copyright www.pythonf.cn - All rights reserved

微信扫一扫关注公众号:

联系方式

Python Free