问题标签 [flask-restx]
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.
python - 为单元测试禁用/修补 flask_of_oil OAuthFilter 装饰器
我创建了一个简单的烧瓶应用程序,它需要使用令牌持有者身份验证调用一些端点。不透明令牌使用 flask_of_oil OAuthFilter 装饰器和正确的客户端和秘密组合进行验证。这按预期工作,并使用 @oauth.protect() 装饰器正确验证所有请求的令牌。但是,在运行单元测试时,我需要禁用身份验证例程。
在导入模块之前,我尝试在文件顶部使用类似 unittest.mock.patch 的东西将 oauth.protect 装饰器覆盖为虚拟 lambda。
有没有办法保留 app.py 的所有功能并在测试范围内“删除”@oauth.protect()?除了简单的脚本之外,我对使用 Python 进行任何操作都很陌生,所以我有点不知所措,任何指针都将不胜感激。
以下是工作应用程序和我的基本单元测试设置的简化示例:
应用程序.py:
test_foo.py:
python - python 装饰器用另一个装饰器包装并修改函数 args
我正在为我的 api 使用flask-restx。
(a)@namespace.expect(schema)
装饰器生成自动文档,
(b) 和RequestParser
解析器
这里输入的请求是运行良好并实现 (a) 和 (b) 的代码:
为了防止为每个 api 编写解析器,我决定扩展flask_restx.Namespace
类,并添加我自己的装饰器,它将:
(a)@expect
在函数上添加装饰器
(b)从模式生成解析器并将解析的 args 添加到post
功能_
这是类的实现:
不幸的是,当我这样做时self.expect(..)
,装饰器中的返回没有给出结果(没有文档出现),解析(包装器函数)运行良好
如果我替换
return self.expect(self.schema_model(schema_name, schema), validate=True)(decorator)
为
return self.expect(self.schema_model(schema_name, schema), validate=True)
then 文档确实出现了,但是解析的内部包装没有效果
一个装饰器用另一个装饰器包装给定函数并修改函数参数的正确方法是什么?
flask - 如何更正烧瓶休息 api 的响应格式?
我正在使用flask
flask-restx
. 我希望我的所有回复都像这样格式化
我什么时候GET
在以下 URL 上发出请求,它返回
这是预期的,因为我在类中没有get
方法QuizController
,如何自定义此错误消息?
flask-restplus - Flask-RESTPlus 资源类的生命周期是多少?
基本上我需要知道我是否可以@functools.cached_property
在 Flask-RESTPlusResource
子类中使用来缓存一个昂贵的操作或协作者构造,这些操作不应超过单个请求。
我想有两种可能:
- 为路由到该资源的每个 HTTP 请求重新创建一个
Resource
子类实例。 - 一个
Resource
子类实例在创建 API 时创建一次,并在 API 的生命周期内为路由到该资源的每个请求重用。
对象/实例上的缓存仅适用于案例 1。@cached_property
实际上是一个惰性计算的实例变量,其值在首次使用时计算并存储在实例变量中,然后在每次连续访问/调用时从该变量提供服务。我希望该机制实际上是一个描述符,但概念是相同的。
无论如何,我需要为每个请求使用不同的值,我只需要在处理单个请求的过程中多次使用它,并且我需要为该请求只计算一次该值。
会@cached_property
在 Flask-RESTPlusResource
子类上按我需要的方式工作吗?
python - flask-sqlalchemy 加入关联表中的所有匹配项
我在 Flask 中做一个项目,我对 Flask-SQLAlchemy 有困难。
当我提出请求时,我得到如下输出:
如何重做查询以获得这种结果?
或类似的东西,以便流派列表是一行,以便进一步将其转移到 flask_restx -> Resource -> json
python - 在 Flask-restx API 中持久化对象的最佳实践?
我正在使用 flask-restx 来制作一个 API,它依赖于一个 sklearn-classifier,它需要一些时间来加载,但随后会非常快速地从输入中计算值。天真地,人们可能会做类似下面的代码的事情。
然而,这给每个 API 调用增加了非常大的开销,因为在每个调用中都会实例化 'Foo' 对象。在调用之间保持“Foo”对象以避免这种开销的最佳做法是什么(如果存在)?
请注意,所讨论的对象对于每个用户或会话来说并不是不同的,就像在这个问题中一样。相反,对于 API 的每次调用,Foo 对象都是相同的。
flask - 如何从 current_app 访问环境变量?(RuntimeError:在应用程序上下文之外工作)
(对不起,我的英语不是很完美)我正在使用flask 和flask-restx 制作一个应用程序。为了在生产环境和开发环境之间进行更改,我设计访问环境变量以更改环境(如服务器 IP 和端口)
最后,我发现有'current_app',并写入从数据库模型文件中访问变量。但出现错误消息。然后我在官方文档中搜索了此消息并再次编写了以下解决方案,但错误消息仍然存在。
你可以帮帮我吗?
这是我的代码
数据库.py
应用程序.py
这是执行代码