我想将数据转换为字符串模板(为了简化URL) 为此,我做以下操作:转换日期为字符串模板
我URLs.py:
url(r'^export/range/csv/(?P<start_date>\d+)/(?P<end_date>\d+)/$', views.export_payment_range_csv, name="export_payment_range_csv"),
我的链接模板:
<li><a href="{% url 'export_payment_range_csv'
start_date=start_date.string end_date=end_date.string %}">CSV for
current range payments</a>
模板端start_date和end_date格式为日期而不是字符串。
但得到
NoReverseMatch在/支付/列表/范围/反向的 与参数 '()' 'export_payment_range_csv' 和关键字参数 '{u'start_date': '',u'end_date ': ''}' 未找到。尝试2种模式: ['condition/export/range/csv /(?P \ d +)/(?P \ d +)/ $', 'payment/export/range/csv /(?P \ d + )/(?P \ d +)/ $']
我做错了什么?
UPDATE:
如果我不这样做在模板上的错误我得到的转换:
NoReverseMatch在/支付/列表/范围/反向的 与参数 'export_payment_range_csv'“( )'和关键字参数 '{u'start_date':datetime.date(2016,2,1),u'end_date': datetime.date(2016,12,31)}'找不到。尝试2种模式: ['condition/export/range/csv /(?P \ d +)/(?P \ d +)/ $', 'payment/export/range/csv /(?P \ d + )/(θP \ d +)/ $']
让你想到什么说'.string'在约会时间是否有效?并且请注意,即使您修复了这个问题,字符串化日期仍然不会匹配'\ d +'正则表达式。 –
谢谢。那么我的出路是什么?我应该在urls.py或...中处理正则表达式? –
我会考虑使用unix时间戳,因为它们很容易被解析。当然,你也可以选择日期时间格式并坚持下去。 https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior – 2rs2ts