我希望过滤一些与url和日期参数(例如
我第一次尝试的代码如下:
url.com?start=2018-12-12
)相关的数据库结果。读取参数的常规方式是使用request.args.get
,访问底层ImmutableMultiDict
的值,它给出了可选的default
和type
参数。我第一次尝试的代码如下:
@app.route()
def event():
ektempo = request.args.get('start', default = datetime.date.today(), type = datetime.date)
...
对于默认参数来说是有效的,但对于传递的日期字符串则无效,因为datetime.date
需要三个整数作为参数。通常我会通过datetime.datetime.strptime
和一个格式字符串来获取我的日期对象。有没有一种方法可以将日期字符串作为url参数传递到flask中,并将其转换为datetime.date
。
我喜欢request.args.get
的工作方式,但似乎我不能轻松地从给定的url参数中获取datetime.date
对象。是否有其他方法可以通过flask内置方法实现,该方法验证参数并在没有参数或ValueError
时返回默认值?
datetime.date
,作为单独的步骤。 - John Gordonrequest.args.get
只是为原始类型而设计的,但对我来说,这似乎是一件太基本的事情了,你可以有一些可能性,来获取日期或地理坐标验证器用于URL参数...不知道...对我来说,手动验证这些基本类型对于网站来说似乎太多了... - Paul Würtz