从查询字符串传递日期到Django视图

0 投票
1 回答
1411 浏览
提问于 2025-04-18 07:40

我在把日期从我的模板传递到Django视图时,使用的是jquery-ui的日期选择器。在控制台上看到的格式是这样的。

如果我发送 '05-01-2014',那么格式就变成了 '05%2F01%2F2014'

在我的视图中,我有

dataFrom = request.GET.get('dataFrom', 'default')
dataTo = request.GET.get('dateTo', 'default')
results.filter(date__range=[dataFrom,dataTo ])

但是我没有得到任何结果。我的问题是,怎样正确格式化日期才能得到结果呢?

1 个回答

2

这个网址和它的参数是经过编码的,你需要解码才能得到原来的字符:

>>> import urllib
>>> urllib.unquote('05%2F01%2F2014')
'05/01/2014'

# Python 3
>> from urllib.parse import unquote
>>> unquote('05%2F01%2F2014')
'05/01/2014'

你可以看到,这里用的是斜杠而不是短横线 -,你可能需要把它转换一下,才能得到一个有效的查询结果。

撰写回答