问题标签 [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.

0 投票
1 回答
252 浏览

flask-sqlalchemy - 在 Flask-Restless 中遇到数据库连接问题

我正在尝试使用 Flask 在 PythonAnywhere 上提供数据并希望使用 Flask-Restful,但我意识到我有点困惑。

我得到的错误与定义数据库模型的类有关:

我对会话和数据库实例之间的关系感到困惑。

我究竟做错了什么?

0 投票
1 回答
2149 浏览

python - 如何处理 REST 资源的乐观并发?

我正在使用 RESTful 框架(带有 Flask-SQLAlchemy 的 Flask-Restless 0.17.0)作为后端。而 AngularJS 作为前端。

我知道可以使用例如单个表的版本列(或时间戳或数据校验和)来处理并发。

我现在处理它的方式是这样的:

所有 SQLAlchemy 模型都继承自 CommonColumns:

在每个请求之后,一些代码会查找 etag-column 并为其创建一个标头:

然后对于每个 API 资源,我使用一个调用此函数的预处理器:

我猜'abort_on_etag_collision'函数也容易受到竞争条件的影响?

但是,其次,如果您有多个相关表怎么办。您可以通过父资源访问这些表,也可以通过子资源访问这些表。我很难弄清楚处理这个问题的最佳或最灵活的方法是什么。

我想使用 SQLALchemy 的版本控制功能:http: //docs.sqlalchemy.org/en/rel_1_0/orm/versioning.html

但是我必须能够修改 SQL 以包括对版本的 WHERE 检查,因为 SQLAlchemy 不会自动执行此操作,而且我看不到使用 Flask-Restless 的可能性。

任何帮助表示赞赏。

0 投票
2 回答
472 浏览

flask - 如何查询使用 Flask-restless 设置的 API

我正在尝试学习如何在 pythonanywhere 上提供的 Flask 应用程序和 mysql 数据库中提供数据。

我添加了一条到 /test 的路由,该路由旨在连接到现有的 mysql 数据库表,然后使用 flask-restless 的 create_api 将其作为 API 提供。

如果我离开最后一个 Return "OK",我会收到如下错误:

但是,如果我添加它,我不会收到任何错误。

这是为什么?

终点在哪里?我试过

但我收到未找到页面错误。

0 投票
1 回答
1186 浏览

rest - 如何修补烧瓶不安?

执行PATCH请求的正确方法是flask-restless什么?我收到以下响应错误:

这是我的课:

这是我的要求:

0 投票
1 回答
41 浏览

python - 为什么我对 flask-restless==1.0.0b1 的 POST 请求会导致 ERROR:400 MissingData

我有以下代码:

在请求之后,flask-debug 控制台显示以下内容:

数据打印在调试窗口上,因为我有以下POST预处理器:

0 投票
1 回答
921 浏览

python - Flask Restless CSRF 豁免认证 URL

我将 Flask Restless 0.17 和 Flask JWT 用于应用程序的 API 部分。在应用程序的前端,我使用 Flask WTF 及其 CSRF 保护。

这给 Flask Restless 带来了问题,因为 WTF 期望在每个视图上都有一个 CSRF 令牌。我可以通过免除 API 的蓝图在创建的端点上解决此问题,但无法弄清楚如何将其应用于 Flask JWT 创建的 /auth URL。

API 初始化:

0 投票
1 回答
11434 浏览

python - flask-RESTful vs flask-RESTless, which should be used, and when

What are the key differences of these two libraries.In terms of usability, and features

If you already have a huge number of model classes, using flask-restLESS makes perfect sense, right?. What are the features it would lack, if it would done with flask-restful. Or, what are flask-restful gives you, that flask restless can't provide.?

0 投票
0 回答
231 浏览

python - Flask Restless JSON 格式化十进制

我正在使用 Flask-Restless 0.17 作为 API。API 有几个小数字段。我可以通过安装 simplejson 成功返回小数,如下所述:https ://stackoverflow.com/a/15224186/1753891 。

但是,当我有一个为 0 的十进制字段时,该值采用科学计数法,例如0E-8. 我想改为 return 0.00000000

我正在尝试这样的事情,但无法让它工作。0 仍以科学计数法返回。

我如何强制小数0.00000000为零时?

0 投票
0 回答
1007 浏览

memory - 如何减少 Apache 平均进程大小?

我正在运行一个用 Python ( Flask Restless ) 编写的数据库的 API,并根据Flask 文档使用 apache2 和 mod_wsgi 提供服务。

该应用程序托管在 Auto-scaling 组内的 AWS EC2 实例上。我们目前托管在 m3.medium 实例上,这些实例具有:

  • 1 个虚拟 CPU
  • 3.75 Gb 内存

我们经常遇到的问题是内存错误。Apache 用完实例中的所有可用内存并导致[critical memory allocation]失败。apache 的这个问题有据可查。

文档和其他 SO 问题解释说,我可以通过查找 apache 进程的平均大小然后限制MaxRequestWorkers(又名MaxClients)来防止过多的内存使用,以确保我不能启动比可用内存更多的工作人员,但是大多数文档没有首先展示如何减少 apache 使用的 RAM。

我正在使用以下命令来给出平均进程大小:

sudo ps -ylC apache2 | awk '{x += $8;y += 1} END {print "Apache Memory Usage (MB): "x/1024; print "Average Process Size (MB): "x/((y-1)*1024)}'

目前约为 130Mb,这是一个不合理的大数字吗

sudo free -m表明我有大约 3000Mb 的可用内存,所以在我使用太多内存之前我可以拥有 3000/130 = 大约 20 个工人。

我可以成功地限制工作人员的数量以防止过多的内存使用,但是当我这样做时,结果只是我放弃了 ~100 个请求/分钟,返回 504 错误。这在我的场景中是不可接受的。

显然,我有 2 个选项,增加服务器中的 RAM 量或减少每个 Apache 进程消耗的内存量。

我已经从 apache 中删除了不必要的模块,但我不再确定我还能做些什么来减少每个 apache2 进程的内存占用。我想运行 50-100 名工人,这需要 13GB 的 RAM,这似乎太多了?

WebApp 用于管理一个由大约 30,000 个互联网连接产品组成的系统。大多数请求是记录与系统的连接或向用户返回一个 json 数据数组。

我的 Apache2.conf 文件如下:

我现在可以采取什么步骤,因为我认为我的应用程序不应该需要具有 13+Gb 内存的服务器,并且我不想减少 MaxRequestWorkers 的数量,因为这样做会导致系统拒绝大约 100 个请求/分钟

0 投票
1 回答
5060 浏览

python - Flask-Restless & Marshmallow:“dict”对象没有属性“_sa_instance_state”

我正在使用 Flask-Restless、Flask-SQLAlchemy 和 Marshmallow 开发一个基本的 CRUD JSON REST API。

我在使用这种库组合时遇到了问题,但只有当我使用 Marshmallow 启用反序列化时。

我已经广泛地搜索了这个错误,但是我只在使用数据库关系时发现了类似的问题,而我不是。

我一直在从我的应用程序中删除尽可能多的代码,但仍然遇到相同的错误。以下代码块是本地运行的 1:1。

模型.py:

序列化程序.py:

主要.py:

测试.py:

正在使用的版本:

最后,运行测试时的完整堆栈跟踪: