我正在尝试通过statter_date,即(10/12/2016),report_to_date I.E(23/12/2016)
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下方不起作用 -
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',以及我的视图功能:
def report(request,starting_date,report_to_date):
starting_date = parse('starting_date')
report_to_date = parse('report_to_date')
这不起作用。请帮助我..预先感谢。
@felk在评论中说,您需要将日期格式更改为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()