2016-12-17 29 views
1

我试图通过starting_date即(2016年10月12日),report_to_date即(23/12/2016)如何传递多个date1即(10/12/2016),date2即(23/12/2016)到django中的url?

starting_date = '31/12/2015' 
report_to_date = '31/12/2016' 
<a class ="btn btn-success" href="/downloadpdf/"+starting_date+"/"+report_to_date+"/">Download</a> 

以下网址不工作 -

url(r'^/downloadpdf/(?P<starting_date>[A-Za-z0-9+/=]+)/(?P<report_to_date>[A-Za-z0-9+/=]+)/$', views.report, name='report'), 

我需要的日期即'31/12/2015',即'31/12/2016'格式/日期对象我的查看功能:

def report(request,starting_date,report_to_date): 
     starting_date = parse('starting_date') 
     report_to_date = parse('report_to_date') 

这是行不通的。请帮助我..在此先感谢。

+0

'This is not working' I n它不起作用的方式是什么?它做什么或不做什么,你预期会发生什么? – Felk

+0

我想将多个日期传递给django url。但是,当我通过日期字符串('31/12/2015')时,它不会发生。 –

+0

_what_没有发生?是'starting_date'和'report_to_date'空字符串? – Felk

回答

0

正如@Felk在comment中所述,您需要将日期格式更改为dd-mm-YYYY以避免可读性问题。

对于您需要更改URLPATTERN接受-和数字:

url(r'^downloadpdf/(?P<starting_date>[0-9-]+)/(?P<report_to_date>[0-9-]+)$', views.report, name='report') 

现在你可以使用这个模式里面的模板是这样的:

<a href="{% url 'report' starting_date='17-12-2016' report_to_date='17-12-2016' %}">date</a> 

要解析的日期值内查看您可以使用strptime功能:

import datetime 
... 
def report(request, starting_date, report_to_date): 
    starting_date = datetime.datetime.strptime(starting_date, '%d-%m-%Y').date() 
    report_to_date = datetime.datetime.strptime(report_to_date, '%d-%m-%Y').date() 
+0

谢谢#neverwalkaloner –

+0

@MdSamiulAlim欢迎:) – neverwalkaloner

相关问题