我正在尝试使用带路径转换器的简单路径获取Flask:
@api.route('/records/<hostname>/<metric>/<path:context>')
Run Code Online (Sandbox Code Playgroud)
它起作用,除非URL的"路径"部分使用前导斜杠.在这种情况下,我得到一个404.我理解错误,但我没有得到的是文档中没有解决方法或互联网上有关如何解决此问题的任何地方.我觉得我是第一个尝试做这个基本事情的人.
有没有办法让这个有意义的URL工作?例如这种请求:
http://localhost:5000/api/records/localhost/disks.free//dev/disk0s2
Run Code Online (Sandbox Code Playgroud) 我有一个简单的SQLite表,可以记录整天的能耗.它看起来像这样:
rowid amrid timestamp value
---------- ---------- ---------- ----------
1 1 1372434068 5720
2 2 1372434075 0
3 3 1372434075 90
4 1 1372434078 5800
5 2 1372434085 0
6 3 1372434085 95
Run Code Online (Sandbox Code Playgroud)
我想建立一个简化的最后一天消费历史记录,通过获取每10分钟最接近的值来构建一个类似于以下内容的CSV:
date value
---------------- ----------
2013-07-01 00:00 90
2013-07-01 00:10 100
2013-07-01 00:20 145
Run Code Online (Sandbox Code Playgroud)
至于现在我有一个请求,允许我获得一个时间戳的最接近的值:
SELECT *
FROM indexes
WHERE amrid=3
ORDER BY ABS(timestamp - strftime('%s','2013-07-01 00:20:00'))
LIMIT 1;
Run Code Online (Sandbox Code Playgroud)
我怎样才能建立一个可以完成一整天的伎俩的请求?谢谢,
我使用Flask的片段创建了一个用于处理HTTP Basic Auth的装饰器:
def requires_auth(f):
@wraps(f)
def decorated(*args, **kwargs):
auth = request.authorization
if not auth or not check_auth(auth.username, auth.password):
return authenticate()
return f(*args, **kwargs)
return decorated
Run Code Online (Sandbox Code Playgroud)
此装饰器不允许传递参数.我想改变一下,我怎么能这样做?我一直在检查有关装饰器的其他SO问题,但我仍然无法使用它.