问题标签 [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.
mime-types - 有没有办法为 Starlette/Uvicorn 显式设置 MIME 类型?
看来我的简单 Starlette/Uvicorn Web 应用程序为 Jinja 模板化(从同一服务器提供)JavaScript 文件提供了不正确的 MIME 内容类型。从屏幕截图中可以看出,uvicorn 服务器将 *.js 文件转换为类型(“text/plain”)。
我已经搜索了 Starlette 和 Uvicorn 的文件,简直被难住了。
我的简单网络应用程序如下:
加载到头部的 JavaScript 文件会给出相同的错误,但仍然会加载。这是 Firefox(73.0 64 位)中新的“nosniff”默认设置的副产品。作为模块导入加载的脚本完全失败。
我正在运行 Windows 10 (x64)、Python 3.7、uvicorn 0.11.2 和 starlette 0.13.1。
任何帮助是极大的赞赏。先感谢您。
python - 如果任务对象存储在实例变量中,Starlette + asyncio.create_task() 不会记录错误
好吧,这很奇怪,但是这里有——
嗯,ValueError
这里没有……
self.task
现在,删除对in的分配MyTasks.main()
。
……瞧。
这里发生了什么?该分配如何产生或破坏异常记录!?
python-3.x - 如何使用 FastAPI 返回元素
我正在尝试找到一种使用 FastAPI 插入图像的方法,这是我的代码:
当我启动univorn并打开localhost时。我收到以下错误:
不允许加载本地资源:file:///Users/user/Desktop/document/app//img.jpg
请帮忙
python - 如何在fastapi中获取多个表单输入字段作为字典?
我必须向带有 14 个输入字段的 fastapi 端点提交这样的表单,如下所示
我可以像下面这样一个一个地获取字段。
所有 14 个字段的方式相同。
但是有没有办法通过单个 pydantic 模式获取所有字段。像下面这样
python - Google OAuth 不会在 authlib.starlette_client 中返回 refresh_token
嗨,我正在使用 authlib/FastAPI/Google 开发一个用于登录过程的网络应用程序,并希望保留refresh_token
这样我可以让用户在应用程序中保持足够的时间。
我遵循了https://docs.authlib.org/en/latest/client/starlette.html中的标准程序
但是,refresh_token
即使我指定了access_type='offline'
. 如果我的应用程序已经在我的帐户中注册,我也添加了一个参数prompt='content'
。
我错过了什么吗?
此外,保持refresh_token
一个长期运行的用户应用程序的最佳方式是什么?我不喜欢打扰用户多次登录。
提前致谢!
python - Cookie 未在 starlette TestClient 上设置,请求通过 Python 请求发送
FastAPI 上的登录/注销功能在浏览器中工作,但我正在尝试为它编写单元测试。当我的应用设置 cookie 时,我可以看到响应确实发送了 cookie。当我通过 Python 请求收到它时,cookie 已从响应中删除,因此登录不起作用。
然后在浏览器中工作的服务器端:
所以在 BreakpointA() 处,就在发送响应之前,response.headers
如下所示:
在 BreakpointB(),在我的测试客户端收到响应后,response.headers 和 response.cookies 如下所示:
我强烈怀疑这是因为域问题 - 但我该如何纠正呢?在我的 TestClient ( Starlette TestClient ) 中,我已经设置client.base_url = 'https://localhost'
了 ,并且在我的端点中制作了我设置的 cookie DOMAIN=https://localhost
。有人有解决这个问题的经验吗?
python - FastAPI 中间件窥探响应
我尝试为 FastAPI 编写一个简单的中间件来查看响应体。
在此示例中,我只记录正文内容:
然而,看起来我以这种方式“消耗”了身体,导致了这个异常:
试图查看响应对象,我看不到任何其他方式来读取其内容。正确的方法是什么?
python - 如何测试使用图像的 FastAPI api 端点?
我正在使用 pytest 测试一个 FastAPI 端点,该端点以二进制格式输入图像,如
启动服务器后,我可以通过运行调用手动成功测试端点requests
但是,以以下形式设置测试:
运行测试时python -m pytest
,这给了我一个
我究竟做错了什么?使用图像文件
编写测试函数的正确方法是什么?test_image_analysis()
python - FastAPI - 模拟路径功能没有效果
我有一个简单的FastAPI应用程序,我正在尝试pytest
为它创建测试。
我的目标是测试应用程序在出现不同错误时的行为方式。
我的应用中有一个简单的健康检查路线:
现在在我的 pytest 模块中,我试图修补上面的函数,以便它引发不同的错误。我正在使用unittest.mock
,但我的行为很奇怪。
尽管在测试中调用了完全相同的函数,但当我到达端点时,API 测试客户端仍然调用原始函数。
mock.patch
测试中不直接调用函数,为什么不能正常工作?
或者也许我应该以不同的方式解决我的问题?
python - FastAPI,返回带有 sql 查询输出的 File 响应
我正在使用 FastAPI,目前我返回了一个 csv,它是从带有 pandas 的 SQL 服务器读取的。(pd.read_sql()) 但是 csv 对于浏览器来说非常大,我想用文件响应返回它: https ://fastapi.tiangolo.com/advanced/custom-response/(页面末尾)。如果不先将其写入一个 csv 文件,我似乎无法做到这一点,这似乎很慢,并且会在每个请求上用 csv 混淆文件系统。
所以我的问题是,有没有办法从 sql 数据库或 pandas 数据框中返回 FileResponse。
如果没有,有没有办法在客户端读取完生成的 csv 文件后删除它?
谢谢你的帮助!
亲切的问候,
斯蒂芬