python - 将参数传递给由 python 中的烧瓶创建的 API
问题描述
我是 API 和 python 的新手。实际上,在对在 RI 中找到支持水管工的免费主机感到失望之后,决定通过 python 尝试它。简单的问题是我有一个简单的函数,它接受两个数字参数并使用给定的 CSV 文件进行一些计算并返回一个数字(我只是在 R 中由本地主机中的管道工完成)。现在在python中进行测试已经编写了以下代码:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "hello world!"
if __name__ == '__main__':
app.run(debug=True)
好吧,这可以正常工作。但是当我尝试制作一个函数来接受这样的参数时:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello(a):
return a + 2
if __name__ == '__main__':
app.run(debug=True)
我得到这个页面,上面说我没有通过参数。
我的主要问题是我如何传递论点?(例如,在 R 管道工创建的 API 中,我将其称为localhost/5000/?a=2
:)
我的另一个问题是,这种 API 主机和请求可能是 Heroku 之类的吗?
解决方案
来自Flask 文档:
您可以通过使用 标记部分来将可变部分添加到 URL
<variable_name>
。然后,您的函数接收<variable_name>
作为关键字参数。或者,您可以使用转换器来指定参数的类型,例如<converter:variable_name>
.
所以在你的情况下,这将是:
@app.route("/<int:a>")
def hello(a):
return a + 2
其他选择是使用request data。
推荐阅读
- mysql - 如何优化 SQL 查询结果以适应视图
- c++ - 如何使用propagate_on_container_copy/move_assignment::value?
- sql - 基于join和case插入sqlite数据
- python - 带有 alpha-vantage pandas 数据的 Altair 图表
- python - 多对多查询的 Django 模型文件更新
- javascript - “保留”波纹效果直到 mouseup
- c# - 尝试发送推送通知时出现 Firebase 403 禁止错误
- python - 在熊猫数据框上运行 sql 查询
- amazon-web-services - CloudWatch 指标过滤器 - 按顺序查找术语的外观
- r - 在整个数据集上使用 cor() 与 R 中的两个变量