我试图传递starting_date,即(10/12/2016),report_to_date,即(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(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”)格式/日期对象添加到我的 View 函数中:
def report(request,starting_date,report_to_date):
starting_date = parse('starting_date')
report_to_date = parse('report_to_date')
这不起作用。请帮助我..提前致谢。
最佳答案
正如@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>
要解析 View 内的日期值,您可以使用 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()
关于javascript - 如何将多个 date1 即(10/12/2016)、date2 即(23/12/2016)传递到 django 中的url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41195446/