通常、フォームで DateInput ウィジェットを定義すると、生成される html は次のようになります。
<input type="text" name="from_date" id="id_from_date">
タイプはortext
の代わりです。date
datetime
これを修正する 1 つの方法は、次のようにタイプを設定することです__init__
。
class FilterCallsForm(Form):
def __init__(self, *args, **kwargs):
super(FilterCallsForm, self).__init__(*args, **kwargs)
self.fields['from_date'].widget.input_type = 'date'
from_date = forms.DateField(localize=True, widget=forms.DateInput())
これは機能し、必要に応じて取得し<input type="date" name="from_date" id="id_from_date">
ます。
しかし、ウィジェットを宣言するときにそれを正しく定義する方法はありますか? __init__
少し奇妙に思える方法を実行する以外に方法が見つかりませんでした。