2017-12-11 3 views
0

テンプレートからの入力をビューに渡そうとしていますが、日付がDjangoのデフォルトの日付フォーマットYYYY-MM-DDを指定すると、エラーが発生します。Django日付形式をYYYY-MM-DDからHH:MMをMM/DD/YYYYに変更

[U "'11/2012' 分の11の値が無効な形式を持っていることは、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, 
     }) 

interactsTable(Interactions.object.filter())行は、エラーをスローするものです。

私の質問は、YYYY-DD-MMの代わりにMM/DD/YYYYを受け入れるようにDjangoの日付形式を変更するにはどうすればよいですか?

答えて

0
>>> from datetime import datetime 
>>> d = datetime.strptime('11/11/2012', '%m/%d/%Y') 
>>> d.strftime('%Y/%m/%d') 
'2012/11/11' 

views.pyYYYY-DD-MMに日時書式の変換は、フィルタでMM/DD/YYYYを受け入れるジャンゴを強制するよりも簡単です。

関連する問題