问题标签 [flask-restless]
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.
flask - 如何将子实例添加到一对多的“多”端
我的烧瓶/不安的应用程序中有两个模型:蓝图和工作负载蓝图应该有一个工作负载的集合。
以下是模型:
使用 curl 或 python 将 Workload 实例添加到 Blueprint 的“workloads”集合的正确语法是什么?
python - Flask-Restless API“嵌套”排除/包含列
我有一个带有 2 个模型的数据库的 api。模型之间的关系如下:
- 每个产品都归一个实体所有。(多-1)
- 每个实体都拥有一种或多种产品。(1-许多)
这些在 models.py 文件中定义如下:
然后,我使用create_api
来自 flask-restless 的 inbuild 来生成 api 端点,如下所示:
我故意只在响应中包含产品和实体的主键。
如果我这样做,GET hostname/api/v1/products
我会得到一个列表imei
。如果我这样做,GET hostname/api/v1/entities
我会得到一个列表id
。
如果我执行 `GET hostname/api/v1/products/{product_id}/entity 它会从拥有产品 {product_id} 的实体返回所有信息。这包括返回拥有产品 {product_id} 的实体拥有的每个产品的信息。
当使用以这种方式“嵌套”的端点时,如何确保我的include_columns
或仍然被观察到?exclude_columns
支持在关系中包含特定属性,即:
`include_columns = [Entity.id]' 等...适用于对“基本”URL 的请求,即:主机名/api/v1/products,但不适用于“嵌套”URL,即:主机名/api/v1/products /1/实体
有什么建议么?
python - 如何在 Flask-RESTless 中使用关键字参数
我和一个伙伴一直在阅读 Flask-RESTless 的文档,它说:
预处理器和后处理器函数的参数将作为关键字参数提供,因此在定义预处理器或后处理器函数时,应始终添加 **kw 作为最终参数。
但它没有指定我们如何使用这些关键字参数将信息传递给预处理器或后处理器。谁能告诉我们如何做到这一点?
我们的 create_api 现在看起来像这样:
我们想要做的是在validation_preprocessor 中使用**kw 作为我们自己的值。
python - Flask-Restless:manager.create_api() 不返回蓝图对象
我正在为我的简单 REST 服务使用 Flask-Restless 扩展。现在我想启用 CORS。
根据这篇文章http://flask-restless.readthedocs.org/en/latest/customizing.html我尝试使用以下代码来启用 CORS:
但是blueprint
object 没有属性after_request
。
我做错了什么?
python - Flask-Restless 的复杂路由(例如“忘记密码”)
我希望在使用 Flask-Restless 时为“忘记密码”功能开辟一条路线。我的想法是请求看起来像这样:
Flask-Restless 会将此请求发送到我提供的自定义“忘记密码”路由。这样,我可以在这里对用户对象定义我自己的复杂操作(将中间内容存储在数据库中,电子邮件密码重置链接等)
我无法在Flask-Restless 的文档中找到这样的功能。此外,在尝试创建一个与上述路由简单对应的快速(hacky)单独路由(在 Flask-Restless 之外)时,Flask-Restless 仍然收到请求并返回 405(不允许方法)。
可以想象这种功能也适用于其他复杂的操作(例如更改密码、更改电子邮件)。
是否有可能以某种方式实现这种路由方案?如果是这样,怎么做?
如果没有,还有什么替代方案?单独蓝图中的普通路线?
python - 如何使用 Flask-Restless 启用 CORS
我有一个使用 Flask-Restless 创建并使用 Apache 提供服务的 postgres 数据库的 API。
在我收到多个似乎与 OPTIONS 请求密切相关的“CORS 错误 Access-Control-Allow-Origin”标头时,该 API 可以完美运行,直到我尝试使用基于 javascript 的前端来访问 API。
我尝试了以下修复
[1.在apache中启用cors][1]
3.使用flask-restless启用CORS
不用说,到目前为止还没有一个工作。
- 不会删除 CORS 警告。
- 似乎删除了某些端点的 CORS 错误,但没有删除其他端点,将其更改为 cors = CORS(app, response=r"/v1/*") 带回了最初已删除的 CORS 错误。
- 尽管我直接从文档中复制了语法,但由于“bp 没有属性 after_request”引发了语法错误。(这里)
谁能解释一下,
- 为什么上述修复没有消除 CORS 问题。
- 如何解决我的问题并有效地启用跨域资源共享?
django - Restless - “对象”包装器
我正在使用 Restless,如文档中所述,返回 Model.objects.all() 会产生如下内容:
这工作正常。但是,我不希望“对象”包装器出现在这里。我的前端代码需要一个数组。有没有办法告诉 Restless 不要包装数组?
python - 具有多对多关系的 Flask Restless 帖子
我正在使用烧瓶不安分并尝试发帖为多对多关系创建新记录
我如何发布带有指定类别的帮助请求?谢谢
亚历克斯
python - 有没有办法将参数传递给 Flask-Restless GET_SINGLE 预处理器?
GET_MANY 预处理器接受内置search_params
字典,但 GET_SINGLE 只接受instance_id
. 一个kw**
arg 被传递给所有预处理器和后处理器,但我发现这只是为了向前兼容,尽管这在Flask-Restless 文档中有些不清楚:
预处理器和后处理器函数的参数将作为关键字参数提供,因此在定义预处理器或后处理器函数时,应始终添加 **kw 作为最终参数。这样,您可以在定义函数时只指定您需要的关键字参数。此外,如果新版本的 Flask-Restless 更改了 API,您可以在不破坏代码的情况下更新 Flask-Restless。
那么除了instance_id
GET_SINGLE 预处理器之外,是否不能传递参数?
编辑
也许有更好的方法来做我想做的事情:我有两个模型,Foo
并且Bar
. 中的记录将 中记录Foo
的外键存储为其列之一Bar
。我想要一个 GET 请求发送到Foo
该请求,该请求指定外键的值,以从具有请求值的外键的记录集中返回单个准随机记录Foo
。
python - 如何在 Flask-restless 中返回“已经存在”错误?
我想做一些异常处理程序。我在 python 中使用了 Flask-restless 和 SQLAlchemy 的组合。
我的问题:
当我使用 DB 中已存在的对象向 api 发送请求时,SQLAlchemy 显示异常:
所以我试图在方法中添加validation_exceptions
属性create_api
:
但响应 json 包含:
并且服务器 api 显示异常:
Flask-restless 中的异常验证不适用于此类异常 (IntegrityError)
我应该怎么办?是否可以为异常创建一些处理程序并在 json 中返回我自己的错误消息?