问题标签 [starlette]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
134 浏览

startup - 有没有办法根据 FastAPI 启动事件的条件取消启动?

我想要做的是检查启动事件的条件,如果发生执行,不要启动服务器或停止服务器。

有没有办法做到这一点?

0 投票
1 回答
1962 浏览

python - 如何在 FastAPI 中获取定义的路由路径?

我有我的 FastAPI 应用程序定义server.py

__init__.py中,我定义了路线

impl_controller.py,我已经定义了这样的路线

在中间件中,我试图获取请求路由而不是 URL

我期待的结果是:{id}/get_all第一个请求和{id}/get_last第二个请求。

我能够获取所有路径的列表,url_list但我想要特定路径的路径request

此处提供的尝试解决方案:https ://github.com/tiangolo/fastapi/issues/486也不适用于我

0 投票
1 回答
102 浏览

python - Hypercorn - AsyncioWSGIM中间件

我找不到一种方法来限制 Gunicorn/Uvicorn/Hypercorn(使用 Starlette)上的请求正文大小(带有 json 正文的 POST),并且我没有找到任何表明它可能的方法。是不是,万一呢?

0 投票
0 回答
18 浏览

python-3.x - 尝试从 piccolo_admin.endpoints import create_admin 导入模型时出现 piccolo_admin 空字节错误

我想在 Starlette 中使用 piccolo_admin 创建一个管理页面,但出现空字节错误,请帮助我:

我的代码:

0 投票
0 回答
78 浏览

python - 等待 FastAPI 表单上传后再渲染新页面以防止崩溃

我在后端处理了一个 FastAPI / Starlette 表单,其中包含一个捕获数据的函数。

用户上传一个文件,当它保存在服务器(或我的本地机器上)时,页面崩溃,我必须等待几十秒才能刷新。

/upload 页面上的 HTML 表单:

Python后端:

当我点击我的上传按钮时,该文件需要几秒钟/几分钟才能在我的后端,在正确的目录 ( app/uploads) 中创建。当它这样做时,在浏览器上,页面停止响应并被替换为:

这是一个 Edge 屏幕截图,带有一条消息,上面写着“抱歉,无法访问此页面”。

边缘错误:抱歉,无法显示页面

当然,其他浏览器,尤其是基于 Chromium 的浏览器,具有完全相同的行为。

我必须等待几分钟才能刷新页面并查看它是否有效。

我能做些什么来规避这种情况?

如何等到文件上传完成后再刷新 UI?

0 投票
2 回答
1586 浏览

python - 使用 FastAPI 从下拉菜单中获取数据

在 FastAPI 项目中,您可以轻松地将数据从 HTML 表单获取到后端。有内置的方法可以从文本输入、文件上传等获取数据。但是,下拉菜单在我的项目中似乎不起作用。FastAPI 开发人员 Tiangolo在被请求后解决了这个问题,制作了一个包含下拉菜单的教程页面。我尝试按照与他相同的步骤进行操作,但无法将下拉菜单中的数据获取到我的后端。

我的代码如下所示:

  • view.py: 包含带有下拉值的枚举,并生成 html 模板。
  • upload.html:将显示我的表单的模板,包含下拉菜单。
  • main.py:处理来自表单的数据。

我觉得我已经彻底遵循了教程,但我总是得到默认选择。如果我不在我的handle_form()方法中设置默认选项,我将一无所获。我不明白为什么用户从下拉菜单中的选择不像其他人那样被传输。

0 投票
1 回答
252 浏览

python - FastAPI 中的上下文处理器

我在 FastAPI 电子商务网站上工作。
我使用 Jinja2 作为我的模板引擎。
我想在每个模板的顶部显示我的购物车。
我可以在 Django 中使用 context_processor 来完成。
在 FastAPI 中,下面的代码帮助我们在每个模板中全局访问字符串:

但它只能存储字符串,而我的购物车功能需要请求作为输入(参见下面的代码)

有什么方法可以访问每个 FastAPI 模板中的购物车(类似于 Django 中的 context_processor 或烧瓶中的 context_processor 装饰器)?

0 投票
0 回答
74 浏览

fastapi - FastAPI 持久化数据库连接

我在公共云上的微服务环境中使用 FastAPI。大多数请求需要 pymongo 和 redis 连接。FastAPI 的首选模型是通过依赖项注入数据库连接。但是,数据库每月滚动一次其凭据。对于新的数据库连接,我从秘密存储(https 请求)中检索秘密并启动连接。如果您对每个请求都执行此操作,则此过程非常繁重。因此,我将初始化客户端并将其作为变量传递给依赖项。但是,如果凭据发生更改,则会导致错误。

我可以在 FastAPI 中做这样的事情吗(我在 Flask 中做过):

0 投票
0 回答
1942 浏览

python - FastAPI 重定向到另一个带有数据的 url

如何使用数据重定向到另一个页面?从 FastAPI 文档,我已阅读重定向到另一个 URL 必须使用 RedirectResponse()

这没有用。我无法在 / 端点中读取此数据

给我 KeyError: 'message'

0 投票
0 回答
99 浏览

python-3.x - 请求传递时,RedirectResponse 返回对象而不是重定向

所以我在 FastAPI 中有这个小项目,如果用户未登录,它实际上是一个将用户重定向到登录页面的代码。

问题是它在请求时成功重定向:请求未通过。当我通过它们时,它不会重定向而是返回 RedirectResponse 对象。我需要请求,因为我正在使用 HTML。