问题标签 [flask-restful]

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 回答
2177 浏览

python - Flask Restful API 中的某些路由不起作用

我使用 Twilio 的 Restful 扩展在 Flask 中构建了一个 API。一切都在 Flask 的开发服务器上完美运行。但是,一旦我将应用程序移至 Apache 和 mod_wsgi,一些路由停止工作

阿帕奇配置:

在 app.wsgi 中:

在 app.py 中:

批量查看

所以这就是事情变得有趣的地方,如果我向这条路线发送一个 get 请求,我会收到一个 Method Not Allowed 405 错误。如果我发送删除请求,它工作正常。几乎完全相同的代码在 lineView 中运行没有问题。

在分支视图中

对涉及分支 404 的任一路由的请求。检查文件的权限,尝试将类拆分为单独的文件。不知道怎么了:(

0 投票
1 回答
645 浏览

javascript - 无法使用backbone.js 向flask-restful API 发出请求

我刚开始学习backbone.js,我正在尝试将我们的网络客户端转换为骨干应用程序。但是我不能向 API 发送一个简单的请求。我们的 web 服务是用 python 编写的,flask-restful。该应用程序仅向 API 发出 OPTIONS 请求。(它应该发出一个获取请求)

我确实认为这不是骨干本身的问题,而是服务器的问题。因为当我将 urlhttps://api.github.com更改为并将端点更改为它时,/gists/1它就像一个魅力。我已经阅读了几个关于类似问题的 stackoverflow 问题。我认为这是 stackoverflow 用户建议的 CORS 问题,我只在控制台上看到预检请求。

但是,我已经在我的服务器上设置Access-Control-Allow-Origin了。*此外,当我在 localhost 上运行服务器并从 localhost 发出请求时,它甚至都不起作用。(端口不同,但不确定端口不同时是否称为跨站点)

我可以很好地向我的服务器发出 jquery ajax 请求。它只是不适用于骨干。

到目前为止,这是主干应用程序,

这是烧瓶休息的终点。

也许服务器响应可以帮助某人确定是否存在任何问题。

我在学习骨干的第一天迷失了方向,我在 freenode 上问过同样的问题,但无法得到答案。

如果您有什么可以指导我解决可能的问题,我会非常高兴。

0 投票
6 回答
12137 浏览

python - 由于 Flask-WTF 的 CSRF 保护,Flask-Restful POST 失败

我正在使用普通的烧瓶网络+烧瓶休息。所以我需要针对 Web 的 CSRF 保护,而不是针对 REST。

在我启用CsrfProtect(app)的那一刻flask-wtf,我所有的后期单元测试都flask-restful返回 400。

有没有办法禁用 REST 服务的 CSRF 保护,因为它们来自没有会话处理的手机,因此 CSRF 没有多大意义。

这就是我测试它的方式:

0 投票
4 回答
12128 浏览

python - Flask-Restful 错误:“as_view”方法未继承

我正在使用 Flask 框架和 Flask-RESTful 插件编写一个 RESTful API。Resource我在此插件提供的类之上定义我的 API 类,如示例中所示。但是,当我想使用该add_resource方法注册我的课程时,我收到以下错误:

as_view方法是Flask Pluggable Views的一部分,即View类。这个Resource类是建立在这个类之上的,我的类是建立在这个类UserAPI之上的Resource。出于这个原因,该as_view方法应该被继承,但它不是。

有什么想法可能是问题吗?

在这里你可以看到我是如何定义类的:

编辑:

这是完整的追溯:

在这里你可以看到ViewResource类是如何拥有as_view方法的,而我的UserAPI类没有:

0 投票
7 回答
21604 浏览

flask - 带有flask-restful的自定义错误消息json对象

使用flask-restful的方法很容易将错误消息传播给客户端abort(),比如

这将生成以下 json 输出

有没有办法用其他成员自定义 json 输出?例如:

0 投票
1 回答
1248 浏览

python - MongoDB 聚合 REST

我正在阅读并发现让远程应用程序直接与我的 MongoDB 对话是一个坏主意,例如在电话应用程序中安装 Mongodb 驱动程序。最好的方法是在服务器上有一个 REST 接口来在数据库和最终用户之间进行对话。但是聚合框架呢?

我看到了 Sleepy.mongooseEve,但我看不到任何关于聚合的信息。是否有任何方式/或 REST 接口允许您进行聚合调用(我对子文档感兴趣)?

例如,请求并返回与.$ curl 'http://localhost:27080/customFunction/Restaurant'匹配的所有子文档。shop.kindRestaurant

我熟悉python和java,是否有任何API框架可以让你做到这一点?

0 投票
1 回答
3407 浏览

python - python flask-restful 无法在资源类中获取应用程序访问权限

这是来自flask-restful doc的示例代码

该类HelloWorld在同一个 python 文件中,比如说app.py,它可以工作。

现在我要把这个HelloWorld类放到一个单独的类文件中,像下面的布局:

app/__init__.py包含:

而且HelloWorld.py是:

运行应用程序会出现异常:

我确实需要访问应用程序来阅读一些信息,例如app.config,我怎样才能让它工作?

0 投票
1 回答
8258 浏览

python - python flask-restful 蓝图和工厂模式一起工作?

我正在使用flask-restful开发一个宁静的服务,我想在我的项目中同时利用工厂模式和蓝图。在app/__init__.py我有一个create_app函数来创建一个烧瓶应用程序并将其返回给外部调用者,所以调用者可以启动应用程序。

在该函数中,我打算注册一个指向带有前缀 url 的实现包的蓝图。

里面有app/resource/__init__.py以下代码

我的目标是我可以在 url 访问 HelloWorld 休息服务/api/hello,但我知道上面的代码在@resource.route('/') .... 我遇到了一些错误,例如AssertionError: A setup function was called after the first request was handled. This usually indicates a bug in the app ...at api.add_resource(HelloWorld, '/hello')。你能给我一些关于正确方法的提示吗?谢谢!

0 投票
2 回答
1859 浏览

python - PTVS 不会命中 Flask-RESTful 类方法中的断点

我正在使用 Visual Studio 的 Python 工具,并且我已经建立了一个带有虚拟环境的项目并在那里安装了 Flask-RESTful。

然后,我只是复制了他们的 hello world 示例

一切正常,如果我在开始之前执行的行上放置断点,app.run(debug=True)它们就会被击中(F10 和 F11 工作得很好,并且局部变量按预期更新)

但是,我很想调试处理请求时会发生什么,但是如果我向TodoorTodoList类的方法添加断点,它们永远不会被命中。我添加了代码(如print('here'))以查看它们是否正在被处理并且它们是......而且,它们正在返回我从浏览器打开时所期望的内容。

我在设置中缺少什么吗?

谢谢!

更新:我发现如果我将 VS 附加到运行我的代码的 python.exe 进程,我可以调试这些方法......所以我想现在的问题是:我可以强制 VS 附加到进程一旦像使用常规 .NET 应用程序一样启动它?

0 投票
1 回答
2980 浏览

python - Celery not running with flask application

I'm using celery in my flask application but celery(3.1.8).This is my configuration with the flask application

celery.py

setting.py

api.py

And in my model i'm adding a method to task

model.py

And this how i run the celery from command prompt

And i also using flower to monitor the task i can see a worker running but i couldn't see any task its empty .Any idea what im missing or doing wrong .. Thanks