我正在尝试将输入从模板传递到我的视图中的查询,但如果日期没有以Django的默认日期格式YYYY-MM-DD传递,那么它会抛出错误。
[u“'11 / 11/2012'值的格式无效。必须是YYYY-MM-DD HH:MM [:ss [.uuuuuu]] [TZ]格式。”] < /强>
template.html
<form method="GET" action="/BusComm/interactions">
<div style="width: 100px; float:left">
<p>To Date:</p>
</div>
<div style="width: 200px; float:left">
<input type="date" Placeholder="mm-dd-yyyy" name="date_to" id="id_q" value="{{ query }}" float="right">
</div>
<input type="submit" value="Submit" />
</form>
View.py
def interactions(request):
today = datetime.now().date()
table = interactionsTable(Interactions.objects.all())
if request.GET.get('date_from'):
date_from = request.GET.get('date_from')
table = interactionsTable(Interactions.objects.filter(date__range=[date_from, today]))
return render(request, 'BusComm/interactions.html',{
'table': table,
})
interactTable(Interactions.object.filter())行是引发错误的行。
我的问题是如何更改Django中的日期格式以接受MM / DD / YYYY而不是YYYY-DD-MM?
答案 0 :(得分:1)
>>> from datetime import datetime
>>> d = datetime.strptime('11/11/2012', '%m/%d/%Y')
>>> d.strftime('%Y/%m/%d')
'2012/11/11'
在YYYY-DD-MM
中将日期时间格式转换为views.py
比强制Django在过滤器中接受MM/DD/YYYY
更容易。