fastapi相关内容

如何将后端和前端放在一起-从fastapi后端端点返回react前端

首先,我只想说这是我的第一个Web应用程序项目.在过去的几天中,我一直在寻找有关如何从本质上将前端和后端组合在一起的答案.我有很多问题,但是我想回答的主要问题是如何从后端端点返回我的前端“最终产品". 这是我的理解(如果我错了,请纠正我): 前端代码由客户端(浏览器)运行. 当客户端与网页进行交互时,前端会根据需要对后端进行API调用,以检索/修改数据. 后端和前端通常是分开开发的 ..
发布时间:2021-05-06 20:28:49 其他开发

FastAPI中间件窥探响应

我尝试编写一个简单的中间件,用于FastAPI窥探响应主体. 在此示例中,我只记录了正文内容: app = FastAPI()@ app.middleware("http")异步def log_request(request,call_next):logger.info(f'{request.method} {request.url}')响应=等待call_next(请求)logger. ..
发布时间:2021-05-06 20:28:43 Python

似乎不支持ASGI“寿命"协议

我有一个在fastapi&上运行的异步代码.档案我正在尝试从.json文件加载并保存我的信息,但是每次我关闭该程序时,它仅保存字典的键,并向我显示"ASGI'lifespan'协议似乎不受支持".按摩 这是我的打开/关闭部分: @ app.on_event("startup")异步def startup_event():全球啤酒尝试:与aiofiles.open("data.json", ..
发布时间:2021-05-06 20:28:41 其他开发

Uvicorn服务器意外关闭

我正在使用由Uvicorn服务器提供服务的FastAPI框架.我的应用程序应在给定的端点(/运行)上运行一些耗时的数值计算.为此,我使用来自fastAPI的"background_task"(基本上是Starlette的"background_task"). 在运行应用程序时,经过一些正常的行为后,由于某种原因服务器被关闭. 应用程序中的日志如下: INFO:已启动服务器进程[92 ..
发布时间:2021-05-06 20:28:26 其他开发

如何在异步函数内部并行化for循环并跟踪循环执行状态?

最近,我问了一个有关如何跟踪已部署的API中for循环进度的问题.这是链接. 对我有用的解决方案代码是 从fastapi导入FastAPI,UploadFile从输入导入列表导入异步导入uuid上下文= {'工作':{}}应用= FastAPI()异步def do_work(job_key,files = None):iter_over =文件,如果文件在其他范围内(100)对于文件,枚举 ..
发布时间:2021-05-06 20:28:23 Python

FastAPI:如何将正文读取为任何有效的json?

对不起,不精通Python. 我还没有找到该用例的文档.我如何获取请求正文,确保其有效的Json(任何有效的json ,包括数字,字符串,布尔值和null,不仅是对象和数组),还需要获取实际的Json.使用pydantic强制Json具有特定的结构. 解决方案 您几乎可以在 Request 对象 中找到所有内容 您可以使用 request.body() 获取请求正文 来自fa ..
发布时间:2021-05-06 20:28:20 其他开发

如何将文件(docx,doc,pdf或json)发送到fastapi并在没有UI(即HTML)的情况下对其进行预测?

如果您知道如何将文件发送到FastAPI服务器并使用我的模型在/predict端点中进行访问以进行预测,请帮帮我. 我已经使用/predict端点部署了模型并完成了 uvicorn main:app ,并且已经部署了该模型,但是唯一的输入是文档在我的本地PC中,所以我如何将其发送到FastAPI? 我已经阅读了FastAPI的文档,并在其中找到了此示例代码,但是挑战在于该代码创建了一个 ..
发布时间:2021-05-06 20:28:11 Python

FastAPI从API密钥获取用户ID

在fastAPI中,您可以简单地在路由器级别编写安全性依赖性,并保护URL的整个部分. router.include_router(my_router,前缀="/mypath",依赖关系= [Depends(auth.oauth2_scheme)]) 这避免了重复很多代码. 唯一的问题是,我希望通过路由器级别的依赖关系来保护URL的一部分,该依赖关系会检查用户令牌的有效性并检索该令牌 ..
发布时间:2021-05-06 20:28:08 Python

PyInstaller和FastAPI(超过最大递归深度)

我有一个使用 fastapi 作为网络界面的python服务.我需要制作一个可执行文件,因此使用的是 PyInstaller . 我一直收到以下错误: 文件"..../miniconda3/lib/python3.7/site-packages/PyInstaller/lib/modulegraph/modulegraph.py",行2912,在_load_package中self._lo ..
发布时间:2021-05-06 20:28:05 Python

如何在不阻塞线程的情况下使用FastAPI和uvicorn.run?

我正在寻找在FstAPI应用程序中使用uvicorn.run()的可能性,但没有uvicorn.run()会阻塞线程.我已经尝试使用进程,子进程和线程,但是没有任何效果.我的问题是我想从另一个进程启动服务器,该进程应该在启动服务器后继续执行其他任务.另外,我在从另一个进程中关闭服务器时遇到问题. 有人知道如何使用uvicorn.run()非阻塞以及如何从另一个进程中阻止它吗? 问候Le ..
发布时间:2021-05-06 20:28:02 其他开发

Pydantic:如果未传递任何值,如何将默认值传递给变量?

如果在字段中未输入任何内容,我可以在Pydantic中设置默认值吗? 我有以下代码,但在我看来,这里的验证器仅对模型的初始化有效,而对其他模型则无效. 我的代码: class User(BaseModel):名称:可选[str] ="密码:可选[str] ="电子邮件:EmailStr@validator('名称')def set_name(cls,name):返回名称或"foo" ..
发布时间:2021-05-06 20:27:56 Python

FastAPI(starlette)获得客户端真实IP

我在FastAPI上有一个API,当他请求我的页面时,我需要获取客户端的真实IP地址. 我很愿意使用starlette请求.但是它返回我的服务器IP,而不是客户端远程IP. 我的代码: @ app.post('/my-endpoint')异步def my_endpoint(统计信息:统计信息,请求:请求):ip = request.client.host打印(ip)return { ..
发布时间:2021-05-06 20:27:53 Python

如何使用邮递员将文件发送到fastapi端点

我面临使用邮递员测试api的困难.通过大幅度的文件上传功能可以正常工作,我在硬盘上保存了一个文件.我想了解如何与邮递员一起进行此操作.我使用标准方式来处理在使用django,flask时使用的文件. Body->形式数据:键=文件,值= image.jpeg 但是使用fastapi时,我会得到一个错误 127.0.0.1:54294-"POST/uploadfile/HTTP/1.1" ..
发布时间:2021-05-06 20:27:50 Python

如何在FastAPI中保存UploadFile

我通过POST接受文件.当我将其保存在本地时,可以使用file.read()读取内容,但是会显示通过file.name不正确的名称(16).当我尝试使用此名称查找它时,出现错误.可能是什么问题? 我的代码: @ router.post(path ="/po/{id_po}/upload",response_model = schema.ContentUploadedResponse,)异 ..
发布时间:2021-05-06 20:27:47 Python